我想制作一个简短的脚本,仅用于实验目的.例如,我运行一个命令,如
sudo apt-get install eclipse --yes
Run Code Online (Sandbox Code Playgroud)
而不是在安装时显示命令的详细信息,显示一个像......一样的加载条(点加载时会弹出点或其他东西)
我试过做类似的事情
apt=sudo apt-get install vlc --yes
start()
{
$apt
while $apt;
do
echo -n "."
sleep 0.5
done
}
start
Run Code Online (Sandbox Code Playgroud)
(我打算做的是运行$ apt变量,然后让它继续运行到while循环,while循环将确定命令是否正在运行,所以当命令运行时它将用点替换verbose)
apt-get install vlc --yes >/tmp/apt-get.log & # Run in background, with output redirected
pid=$! # Get PID of background command
while kill -0 $pid # Signal 0 just tests whether the process exists
do
echo -n "."
sleep 0.5
done
Run Code Online (Sandbox Code Playgroud)
将上面的内容放在脚本中并通过它运行sudo.您不能kill用来测试sudo进程本身,因为您无法向具有不同uid的进程发送信号.