bash - resueltos - ¿Qué hacer $? $ 0 $ 1 $ 2 significa en script de shell?
scripts bash ejemplos (2)
Estos son argumentos posicionales del guión.
Ejecutando
./script.sh Hello World
Hará
$0 = ./script.sh
$1 = Hello
$2 = World
Nota
Si ejecuta
./script.sh
,
$0
le dará salida
./script.sh
pero si lo ejecuta con
bash script.sh
le dará salida
script.sh
.
Esta pregunta ya tiene una respuesta aquí:
A menudo me encuentro con
$? $0 $1 $2 etc....
$? $0 $1 $2 etc....
en scripting de shell, lo que sé es que
$?
devuelve el estado de salida del último comando
echo "this will return 0"
echo $?
¿Pero qué hacen los demás? ¿Cómo se llaman y hay más? tal vez como $ 3 $ 4 $ 5 ...
Se llaman los parámetros posicionales .
3.4.1 Parámetros posicionales
Un parámetro posicional es un parámetro denotado por uno o más dígitos, que no sea el único dígito 0. Los parámetros posicionales se asignan a partir de los argumentos del shell cuando se invoca, y se pueden reasignar utilizando el comando set builtin. El parámetro posicional N puede referenciarse como $ {N}, o como $ N cuando N consiste en un solo dígito. Los parámetros posicionales no pueden asignarse con declaraciones de asignación. Los conjuntos incorporados de cambio y desplazamiento se utilizan para establecerlos y desactivarlos (consulte Comandos incorporados de Shell). Los parámetros posicionales se reemplazan temporalmente cuando se ejecuta una función de shell (consulte Funciones de shell).
Cuando se expande un parámetro posicional que consta de más de un solo dígito, debe encerrarse entre llaves.