结果是所希望的;经过一番试验和错误。我不明白“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
答案 0 :(得分:44)
这是一个参数扩展,它意味着如果第三个参数为null或未设置,请将其替换为之后的内容: -
$ x=
$ echo ${x:-1}
1
$ echo $x
$
如果变量为null,还有另一个类似的PE分配值:
$ x=
$ echo ${x:=1}
1
$ echo $x
1