将动态命令行输出保存为bash脚本中的变量

时间:2017-09-22 20:26:01

标签: bash awk grep drive

如何将命令行的输出保存为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.

0 个答案:

没有答案