Directorio de artículos
1. ¿Qué es un caparazón?
Shell es un programa escrito en lenguaje C, que es un puente para que los usuarios usen Linux. Shell es tanto un lenguaje de comandos como un lenguaje de programación. Shell se refiere a un programa de aplicación que proporciona una interfaz a través de la cual los usuarios acceden a los servicios del kernel del sistema operativo. El sh de Ken Thompson es el primer shell de Unix, y el Explorador de Windows es un shell gráfico típico
El script de shell (script de shell) es un programa de script escrito para el shell
2. El significado de los scripts de shell
- Registre el proceso de ejecución y la lógica de ejecución del comando para su ejecución repetida en el futuro
- El script puede procesar hosts por lotes
- El script puede procesar el host con regularidad.
3. Cree un script de shell
#! : Es una marca acordada, que le dice al sistema qué intérprete debe ejecutar el script, es decir, qué tipo de Shell se utiliza.
#!/bin/bash: Número mágico (este script usa / bin / bash para explicar y ejecutar)
Agregue automáticamente el encabezado del script :vim ~/.vimrc
autocmd FileType yaml setlocal ai ts=2 sw=2 et
autocmd FileType sh set ai ts=4
autocmd BufNewFile *.sh,*.script call WESTOS()
"map <F4> ms:call WESTOS()<cr>'s
func WESTOS()
call append(0,"###########################")
call append(1,"## Author: zy")
call append(2,"## Version:")
call append(3,"## Create_Time: ".strftime("%Y/%m/%d"))
call append(4,"## Mail: [email protected]")
call append(5,"## Info: ")
call append(6,"###########################")
call append(7,"")
call append(8,"#!/bin/bash")
endfunc
Prueba : crea un nuevo archivo test.sh, con la extensión sh (sh significa shell) y genera automáticamente el encabezado
4. Ejecute el script de shell
Método de operación 1:
- Iniciar manualmente el intérprete especificado en el entorno
sh 脚本文件
:correr
Método de operación 2:
Ejecute los comandos en el shell directamente en el entorno actual (no abra un nuevo shell)
source 脚本文件
. 脚本文件
Ejecute el método 3:
abra el shell especificado en el script y use este entorno de shell para ejecutar los comandos en el script
( No es necesario especificar la información del intérprete en la primera línea )
-
chmod +x 脚本文件名
: Dar permiso de ejecución -
/脚本文件名
O. /脚本文件名
: ejecutar
5. Depurar el script de shell
|
|
---|---|
|
El comando lee de la cadena después de -c |
|
Darse cuenta de la interacción del guión |
|
Verifique la sintaxis del script de shell |
|
Realice el seguimiento de la secuencia de comandos de shell declaración por declaración |
sh -x 脚本文件
: Muestra el proceso de ejecución del script
+ #运行指令
不带+ #命令运行的输出
6. Ejercicios de guion
Ejercicio 1:
Ejecute'ip_show.sh network card 'para mostrar la IP actual
ifconfig $1 | awk '/inet\>/{print $2}'
Ejercicio 2:
host_messages.sh
- Muestra el nombre de host actual, el inicio de sesión de IP en el host actual
- 格式 :
nombre de host : XXXX
ipaddress : XXXX.XXXX.XXXX.XXXX
nombre de usuario : root
echo "hostname: $HOSTNAME"
echo "ipaddress: $(ifconfig 网卡 | awk '/inet\>/{print $2}')"
echo "username: $USER"
Ejercicio tres:
clear_log.sh
puede borrar el registro después de ejecutar este script
#检测是否是root用户执行此脚本
[ "$USER" = "root" ] || {
echo -e "\033[31m Error: Please run script with root ! \033[0m"
exit 1
}
#清空日志
LOGS=`sed -n '/RULES/,$p' /etc/rsyslog.conf | awk '!/^#|^$/&&/var/{print $2}' | sed 's/-//g'`
for LOG in $LOGS
do
> $LOG && echo -e "\033[32m $LOG is cleared ! \033[0m"
done