¿Qué significan $*, $@ y $# en el código de comando del shell?
¿Qué significan $*, $@ y $# en el código de comando del shell?
Nunca he usado $@, pero puedes escribir tu propio script para probarlo.
Permítanme presentarles primero lo que sé, de la siguiente manera:
Variables de posición: $0,$1,$2,$3,$4,$5,$6,$7,$8,$9 $0 muestra el código de instrucciones ejecutadas, $1... muestra el valor del argumento posicional
Variables predefinidas:
$# representa el número de argumentos posicionales
$* representa el número de todos los argumentos posicionales Contenido
$? Indica el estado devuelto después de ejecutar el comando (devuelve 0 si se ejecuta correctamente, devuelve distinto de 0 si se ejecuta correctamente)
$$ indica el número de programa del programa actual. Se espera que después de iniciar un programa, no vuelva a abrir otro (/proc/
$! fondo
$0 representa el nombre del programa actual
Prueba El código del script es el siguiente: (La variable de posición solo se envía a $3)
[root@XP -24-35 script]#vim a.sh
#!/bin/bash
echo '$0 ==> ' $0
echo '$1 = => ' $1
echo '$2 ==> ' $2
echo '$3 ==> ' $3
echo '$$ ==> ' $ $
echo '$* ==> ' $*
echo ' $@ ==> ' $@
echo '$# ==> ' $#
echo '$? ==> ' $?
Ejecutar el resultado 1 (ingrese menos de tres argumentos posicionales a, b)
[root@ Script XP-24-35]# ./a.sh a b
$0 ==> ./ a.sh
$1 ==> a
$2 ==> b
$3 ==>
$$ ==> 4847
$* ==> a b
$@ ==> a b
$# ==> 2
$? = => 0
Resultado de la ejecución 2 (ingrese exactamente tres argumentos de posición)
[root@XP-24-35 script]# ./a.sh a b c
$0 ==> ./a.sh
$1 ==> a
$2 ==> b
$3 ==> c
$$ ==> 4844
$* ==> a b c
$@ ==> a b c
$# ==> 3
$? ==> 0
Resultado de la ejecución 3 (ingrese más de 3 argumentos posicionales)
[root@XP-24-35 script]# ./ a.sh a b c d e f
$0 ==> ./a.sh
$1 ==> a
$2 ==> b
$3 ==> c
$$ ==> 4852
$* ==> a b c d e f
$@ ==> a b c d e f
$# ==> 6
$ ==> 0
Los resultados experimentales hablan por sí solos, olvídate de aceptarlos, gracias.
¿Qué significa $ en el código de comando del shell?
$ signo de dólar
El símbolo representativo de la sustitución de variables.
vrs=123
echo $vrs
123 ¿Qué significa "$<" en el código de comando del shell?
Aún no se han encontrado dichas variables de entorno en el shell
Las variables de entorno del sistema del shell incluyen lo siguiente
$n $1 representa el primer argumento, $2 representa los argumentos del segundo argumento...
$# El número de argumentos de la línea de comando
$0 El nombre del programa actual
$? del comando o función anterior
$* Almacena todos los argumentos en forma de "Argumento 1 Argumento 2 ..."
$@ Almacena todos los argumentos en forma de "Argumento 1 " "Argumento 2" ... p>
$$ El PID (número de ID del programa) de este programa
$! ¿Qué significa # en el PID del comando anterior en el shell? ¿Código de comando?
#En el shell, código de comando significa comentarios, que se utilizan para explicar la función del código del programa.
Por ejemplo
# Contenido de salida
echo "Contenido de salida"
El sistema operativo y el El mundo externo es el más importante. La interfaz se llama shell. El shell es la capa más externa del sistema operativo. El shell gestiona su interacción con el sistema operativo: espera su entrada, interpreta su entrada al sistema operativo y procesa las distintas salidas del sistema operativo. El shell proporciona una forma de comunicarse con el sistema operativo. Esta comunicación puede ser interactiva (entrada de teclado y respuesta inmediata) o script de shell (no interactiva). Un script de shell es una cadena de comandos del shell y del sistema operativo colocados en un archivo que se puede
reutilizar. Básicamente, un script de shell es una combinación simple de comandos de línea de comandos en un archivo. Shell es básicamente un intérprete de comandos, similar a mand.
en DOS. Recibe comandos de usuario (como ls, etc.) y luego llama a la aplicación correspondiente. Los shells más comunes son el shell Bourne estándar (sh) y el shell C (csh).
Shell interactivo y shell no interactivo El modo interactivo significa que el shell espera su entrada y ejecuta los comandos que usted envía. Este modo se llama interactivo porque el shell interactúa con el usuario
. Este modo también es muy familiar para la mayoría de los usuarios: iniciar sesión, ejecutar algunos comandos y cerrar sesión. Cuando cierras sesión, el shell finaliza. El shell también se puede ejecutar en otro modo: modo no interactivo. En este modo, el shell no interactúa con usted, sino que lee los comandos almacenados en el archivo y los ejecuta. Cuando llega al final del archivo, el shell termina.
Hay dos tipos principales de shells en UNIX: Shell Bourne (incluidos sh, ksh y bash) Shell Bourne (sh) Shell Korn (ksh) Shell Bourne Again
shell (bash ) Shell POSIX (sh) Shell C (incluidos csh y tcsh) Shell C (csh) Shell TENEX/TOPS C (tcsh).
Adjunto: Principio de Shell del sistema LINUX
El El shell del sistema Linux sirve como shell del sistema operativo y proporciona a los usuarios una interfaz para utilizar el sistema operativo.
Es el nombre colectivo del lenguaje de comandos, intérprete de comandos y lenguaje de programación.
El shell es el programa de interfaz entre el usuario y el kernel de Linux. Si imagina el núcleo de Linux como el centro de una esfera, el shell es la capa exterior que rodea el núcleo. Cuando se pasan comandos a Linux desde un shell u otro programa, el kernel responde en consecuencia. El shell es un intérprete de lenguaje de comandos. Tiene su propio conjunto de comandos de shell incorporado. El shell también puede ser llamado por otras aplicaciones
programas del sistema. Los comandos ingresados por el usuario en el indicador son primero interpretados por el shell y luego pasados al kernel de Linux. ¿Qué significan $? y $@ en el código de comando del shell de Linux?
$@: almacena todos los argumentos de entrada de la línea de comando en forma de ("$1" "$2"...);
$?: el resultado devuelto del comando anterior. Por favor, dame un consejo. ¿Qué significa & en el código de comando de Shell?
y trabajo en segundo plano
Un solo símbolo & colocado al final de la secuencia de comando completa significa que la secuencia de comando es. colocado al final Trabajando en Taichung.
tar cvfz data.tar.gz data > /dev/null & ¿Qué significa lcd en el código de comando de shell?
El comando lcd en su código de comando de shell debe ser el contenido de comando de compilación ftp. Representa cambiar el directorio local——cambiar el directorio local
Uso:
lcd /ruta/a/su/directorio
Nota: /ruta/a/su/ El directorio es uno de sus directorios locales
ftp también tiene un comando incorporado cd
Cuando inicia sesión en el servidor ftp, puede usar el comando cd para cambiar al servidor remoto script de shell del directorio ¿Qué significa crontab?
- significa entrada estándar
Si no agrega esto -, el significado es el mismo
Consulta el archivo crontab actual y elimina /root/monit/ monit_reset.línea de sh