我正在制作安装后脚本,以在Linux机器上自动安装一些软件包。我想始终显示apt-get install <package>
命令的最后一行。因此,apt-get
的最后一行必须重写前一行。
所以我想像这样的东西:
----------------
Install Dev apps
----------------
[the last line from apt-get install here]
我如何用bash做到这一点?
#!/usr/bin/python3
import subprocess, sys
process = subprocess.Popen(sys.argv[1:], stdout=subprocess.PIPE)
while process.poll() is None:
stdout = process.stdout.readline().decode()[:-1]
print(stdout,end='\r')
print()
将上面的代码保存在文件中,例如
run.py。然后,您可以运行任何命令以仅动态查看输出的最后一行。例如:或:
./run.py sudo apt-get install <package>
./run.py sudo apt-get update
注1:不要忘记给您的脚本执行权限:
chmod +x run.py
注意2:您可以进行适当的符号链接以方便使用(或将脚本路径添加到$ PATH环境变量中,我不建议这样做):
sudo ln -s <path/to/yourscript.py> /usr/bin/run
之后,您只能使用:run sudo apt-get install <package-name>