参见英文答案 >
Usage of :- (colon dash) in bash2
结果是一个想要的;经过一番尝试和错误.我不明白“2: – ”和“3: – ”的意思.有人可以解释
结果是一个想要的;经过一番尝试和错误.我不明白“2: – ”和“3: – ”的意思.有人可以解释
#!/bin/bash pid=$(ps -ef | grep java | awk ' NR ==1 {print $2}') count=${2:-30} # defaults to 30 times delay=${3:-10} # defaults to 10 second mkdir $(date +"%y%m%d") folder=$(date +"%y%m%d") while [ $count -gt 0 ] do jstack $pid >./"$folder"/jstack.$(date +%H%M%S.%N) sleep $delay let count-- echo -n "." done
谢谢
斯泰利奥斯
它是一个参数扩展,这意味着如果第三个参数为null或未设置,请将其替换为以下内容:
$x= $echo ${x:-1} 1 $echo $x $
还有另一个类似的PE,如果变量为空,则赋值:
$x= $echo ${x:=1} 1 $echo $x 1