1. Acerca de Shell
- Programa escrito en lenguaje C.
- lenguaje de comando/lenguaje de programación
Crear pasos:
- Crear un archivo .sh
- escribir código shell
- Ejecute el script de shell (el script debe tener permisos ejecutables): chmod +x
2. Variables
definir antes de usar
zjc_name="zjc"
echo $zjc_name
Especificación del nombre de la variable:
- No puede haber espacios alrededor del signo igual después del nombre de la variable.
- Los nombres solo pueden usar letras, números y guiones bajos en inglés, y el primer carácter no puede comenzar con un número.
- no hay espacio en el medio
- No puedo usar puntuación
- No se pueden utilizar palabras clave en bash (comando de ayuda para ver palabras clave reservadas)
#!/bin/bash
str='hello world';
echo $str
Las comillas dobles pueden identificar variables y realizar el escape.
Las comillas simples no reconocen variables y solo se pueden generar tal como están
2.1 Variables de solo lectura
#!/bin/bash
a=10
readonly a
a=20
echo $a
2.2 Aceptar la entrada del usuario
leer -p información del mensaje nombre de la variable
#!/bin/bash
read -p '请输入需要创建的文件路径:' filepath
touch $filepath
echo '文件创建成功!'
ls -l $filepath
2.3 Eliminar variables
nombre de variable no configurada
#!/bin/bash
b=20
echo $b
unset b
echo $b
3. Operadores
3.1 Operadores aritméticos
#!/bin/bash
val=`expr 2 + 2`
echo "两数之和为:$val"
Debe haber un espacio entre la expresión y el operador.
La expresión completa debe estar encerrada por ` ` (debajo de la tecla ESC)
a=10
b=20
echo "a=$a"
echo "b=$b"
echo ''
echo 'a + b = ' `expr $a + $b`
echo 'a - b = ' `expr $a - $b`
echo 'a * b = ' `expr $a \* $b`
echo 'b / a = ' `expr $b / $a`
echo 'b % a = ' `expr $b % $a`
if [ $a == $b ]
then
echo 'a等于b'
else
echo 'a不等于b'
fi
3.2 Operadores lógicos
!No operación, [! falso] devuelve verdadero
-o Operación OR, si una expresión es ture, devuelve ture
-una operación AND. Ambas expresiones son verdaderas.
#!/bin/bash
a=10
b=20
if [ ifalse ]
then
echo '真'
fi
if [ $a -lt 20 -o $b -gt 100]
then
echo '真'
fi
if [ $a -lt 20 -a $b -gt 100]
then
echo '真'
else
echo ‘假’
fi