[Notas de estudio 29 de Linux] Conceptos básicos de los scripts de shell

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


  1. Registre el proceso de ejecución y la lógica de ejecución del comando para su ejecución repetida en el futuro
  2. El script puede procesar hosts por lotes
  3. 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

Inserte la descripción de la imagen aquí



4. Ejecute el script de shell


Método de operación 1:

  1. Iniciar manualmente el intérprete especificado en el entorno
  2. sh 脚本文件:correr

Inserte la descripción de la imagen aquí

Método de operación 2:

Ejecute los comandos en el shell directamente en el entorno actual (no abra un nuevo shell)

source 脚本文件

. 脚本文件

Inserte la descripción de la imagen aquí


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 )

  1. chmod +x 脚本文件名: Dar permiso de ejecución

  2. /脚本文件名O . /脚本文件名: ejecutar

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí



5. Depurar el script de shell


comando sh
-cuerda C
El comando lee de la cadena después de -c
-yo
Darse cuenta de la interacción del guión
-norte
Verifique la sintaxis del script de shell
-X
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

+	#运行指令
不带+	#命令运行的输出

Inserte la descripción de la imagen aquí



6. Ejercicios de guion


Ejercicio 1:
Ejecute'ip_show.sh network card 'para mostrar la IP actual


ifconfig $1 | awk '/inet\>/{print $2}'

Inserte la descripción de la imagen aquí


Ejercicio 2:
host_messages.sh

  1. Muestra el nombre de host actual, el inicio de sesión de IP en el host actual
  2. 格式 :
    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"

Inserte la descripción de la imagen aquí

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

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_46069582/article/details/111543159
Recomendado
Clasificación