2

ループのあるスクリプトがあります:

until [ $n -eq 0 ]
do
    tcpdump -i eth0 -c 1000000 -s 0 -vvv -w /root/nauvoicedump/`date "+%Y-%m-%d-%H-%M"`.pcap
    n=$(($n-1))
    echo $n 'times left'
done

このスクリプトの実行を停止する方法を知りたいですか? <CTRL> + <C>ループの次の反復のみを停止します。

4

2 に答える 2

1

n の開始値は、0 より少なくとも 1 大きく設定する必要があります。例:

n=100
until [ "$n" -eq 0 ]
...

変数を適切に引用することも良い習慣です。

また、for ループを使用する方がよいでしょう。

for (( n = 100; n--; )); do
    tcpdump -i eth0 -c 1000000 -s 0 -vvv -w "/root/nauvoicedump/$(date '+%Y-%m-%d-%H-%M').pcap"
    echo "$n times left"
done
于 2013-09-23T14:15:30.300 に答える