bash while循环使用echo作为循环计数器

时间:2015-04-16 06:28:51

标签: bash shell loops while-loop command

你好,我有一个命令

echo $(ssh dema@10.0.1.100 'zfs list -o name -t snapshot | grep tank/dema@Daily_$(date +"%Y-%m-%d") | wc -l')

这会返回一个整数值,我需要循环它,但似乎无法弄清楚该做什么。

while echo $(ssh dema@10.0.1.100 'zfs list -o name -t snapshot | grep tank/dema@Daily_$(date +"%Y-%m-%d") | wc -l') -g 1; do

echo stuff

done

1 个答案:

答案 0 :(得分:1)

您好,您可以尝试这样做,

declare -i value
value=`echo $(ssh dema@10.0.1.100 'zfs list -o name -t snapshot | grep tank/dema@Daily_$(date +"%Y-%m-%d") | wc -l')`
while [ "$value" -gt 1 ]; do
    echo stuff
    value=`echo $(ssh dema@10.0.1.100 'zfs list -o name -t snapshot | grep tank/dema@Daily_$(date +"%Y-%m-%d") | wc -l')`
done

或者我们可以像使用

一样使用它
declare -i value
while : ; do
  value=`echo $(ssh dema@10.0.1.100 'zfs list -o name -t snapshot | grep tank/dema@Daily_$(date +"%Y-%m-%d") | wc -l')`
  [[ "$value" -gt 1 ]] || break
  echo stuff
done