scripts - ¿Qué significa el guión de dos puntos ":-" en bash
script linux ejemplos (1)
Es una expansión de parámetros, significa que si el tercer argumento es nulo o no está definido, reemplácelo con lo que sigue :
$ x=
$ echo ${x:-1}
1
$ echo $x
$
También hay otro PE similar que asigna el valor si la variable es nula:
$ x=
$ echo ${x:=1}
1
$ echo $x
1
Compruebe http://wiki.bash-hackers.org/syntax/pe
Esta pregunta ya tiene una respuesta aquí:
- Uso de: - (guión de colon) en bash 2 respuestas
El resultado es el deseado; Después de un poco de prueba y error. No entiendo qué significan / significa "2: -" y "3: -". ¿Alguien puede explicar.
#!/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