如何在 Bash 中循环直到达到可用磁盘空间限制?

Dav*_*d B 4 bash disk while-loop

我想做一组操作 ( x y z),只要我在挂载到/media/z.

我怎样才能做到这一点?

我试过类似的东西

while (`df | grep /media/z | awk '{print $4}'` > 204800); do x; y; z; done;
Run Code Online (Sandbox Code Playgroud)

但我想我的while语法是错误的。

and*_*coz 6

( )在子 shell 中执行命令。如果你想测试一个条件,你必须使用test命令:[ ]

while [ `df | grep /media/z | awk '{print $4}'` -gt 204800 ]; do 
    x; y; z; sleep 5; 
done;
Run Code Online (Sandbox Code Playgroud)

  • 那将是 `-gt` 而不是 `>`(这是输出重定向) (2认同)