如何将命令行的输出保存为bash脚本中的变量,因为我想知道发生了什么,即“Everything is up-to-date.
”,或“Addition count 1 src: 2.95MB
”或“{{ 1}}”
挑战在于命令的输出是动态的,并且确实显示了进度条。所以当我使用以下命令时,我没有得到完整的输出。我也使用了awk,但这也没有显示完整输出Deletion count 1 dest: 3.02MB
代码:
sudo drive pull -no-prompt Digital_Signage/men_stairs | awk '{ print}'
这里是用于同步我的文件的命令的输出
检测到未发生变化时:
#!/bin/bash
cd /mnt/pidrive1
STATUS=$(sudo drive pull -no-prompt Digital_Signage/men_stairs)
echo -n ${STATUS}
if [[ $STATUS == *"Everything is up-to-date"* ]]
then
echo -n "all up to date"
elif [[ $STATUS == *"Addition"* ]]
then
echo -n "Synced, files added"
elif [[ $STATUS == *"Deletion count"* ]]
then
echo -n "Synced, files added"
else
echo -n "exception"
fi
添加的文件请注意有进度条
Resolving...
Everything is up-to-date.