script - bash двоеточие



Что делает двоеточие «:» означает в bash (1)

Это расширение параметра, это означает, что если третий аргумент равен нулю или не задан, замените его следующим :

$ x=
$ echo ${x:-1}
1
$ echo $x

$

Существует также другой аналогичный PE, который присваивает значение, если переменная имеет значение null:

$ x=
$ echo ${x:=1}
1
$ echo $x
1

Проверьте http://wiki.bash-hackers.org/syntax/pe

На этот вопрос уже есть ответ:

Результат - желаемый; после нескольких проб и ошибок. Я не понимаю, что означают «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




semantics