Diez minutos facilitar el aprendizaje de la serie: 2020-3-19_SHELL aprender variable adelantado _

Este capítulo es para el uso avanzado del capítulo anterior sobre la aplicación de la variable

  • Variable a prueba de falsificaciones - sólo lectura

Requisitos: Creo que es el hombre del mundo más guapo, no se aceptará ninguna refutación, pero el problema de código de la siguiente manera:

#!/bin/bash
THEMOSTHANDSOMEMAN="璐璐桑"
THEMOSTHANDSOMEMAN="庞统"
echo "墨镜墨镜请告诉我谁是这个世界上最帅的人:$THEMOSTHANDSOMEMAN"

Los resultados volcados. . .
Los resultados volcados
Por lo tanto, con el fin de prevenir malicioso o no intencionada manipulación de alguien detrás de mi variables, que debería ser la forma de garantizar que se encuentren hombre más guapo del mundo?

#!/bin/bash
readonly THEMOSTHANDSOMEMAN="璐璐桑"
THEMOSTHANDSOMEMAN="庞统"
echo "墨镜墨镜请告诉我谁是这个世界上最帅的人:$THEMOSTHANDSOMEMAN"

Consulte el error figura, informar de errores de la cuota más guapo está bloqueado, Pang Tong ternero terminado, y yo soy el hombre más guapo del mundo!
Aquí Insertar imagen Descripción
Golpee pizarra! Golpee pizarra! Golpee pizarra! ==> Esta función es bastante común, especialmente para algunas de las variables puede ser el valor del mismo nombre.
amplio conocimiento: Linux comando #unset <nombre de variable> puede poner esta variable puede residuos más referencias, pero de sólo lectura variable es inválida

  • Las variables globales y locales - locales

Desde el comienzo de la historia, uno de los siguientes cinco departamentos institucionales, cinco departamentos tienen presupuesto anual, los organismos de financiación para cada departamento:
Caso 1: Sector 1: "Jefe, no hay dinero, hasta el punto de" ===> Jefe: "Take ~ "
Caso 2: sector 1:" hermanos, que no tienen dinero para el punto " ===> sector 2:" roll "!
Caso 3: jefe:" Amigo, no hay dinero, hasta el punto de " ===> sector 1:" a encontrar el departamento [≠ 1] para ir ",
la historia, dijo, podemos parrilla afuera, pero no se puede comer allí!

Mientras tanto, una carcasa parcial define una variable global para ver la salida

#!/bin/bash
local VAR1=100
VAR1=200
echo $VAR1

200 de impresión a cabo una cáscara de variables globales, las variables locales local para ver cómo informe incorrecta, la función local sólo se puede utilizar en:
Aquí Insertar imagen Descripción
explicar esto, utilicé un trozo de código:

#!/bin/bash
VAR1=200
function A1() {
local VAR1=10
echo $VAR1
}
function A2() {
local VAR1=20
echo $VAR1
}
echo $VAR1 # 这个是shell全局的变量,所以肯定是200
A1         # 不用管这个什么意思,调用了函数,打印了VAR1,但是是A1函数中的VAR1,也就是10
A2         # 这个自然就是20了,学过编程一定要了解作用域

Los resultados se muestran a continuación, no hay un análisis del problema:
Aquí Insertar imagen Descripción

  • Tipos de variables y el uso común

Desde el comienzo de la historia: a ~ imprimir una barra invertida \ Le $$ polo de nuevo una cita doble "
a sí mismos para probarlo, te doy los resultados:

#!/bin/bash
echo "\"    # ./1.sh: line 3: unexpected EOF while looking for matching `"
echo \      # 啥都没有
echo "      # ./1.sh: line 3: unexpected EOF while looking for matching `"'
echo $$     # 39858 这数字什么鬼
echo "$$"   # 39916 这又特么什么鬼

Se plantea la cuestión de cómo imprimir caracteres especiales, palabra:
caracteres especiales impresos, si es necesario, caracteres especiales deben devolver un eco provocado por comillas simples , por ejemplo:

#!/bin/bash
echo '$$'   # $$
echo '\'    # \

El papel de las comillas simples es cancelar la función especial carácter de escape!
Las comillas dobles es una cadena de límites, sino que tienen un carácter especial escapar
Recuerde estas dos palabras, si quiere sustituir parte de la cadena de valor de la variable de referencia no debe ser entre comillas simples, mirada en el ejemplo siguiente se entenderá:

#!/bin/bash
THEMOSTHANDSOMEBOY="zhaolu"
echo "${THEMOSTHANDSOMEBOY}太特么帅了!"  #这个变量边界线昨天已经讲过了 ${}
echo '${THEMOSTHANDSOMEBOY}太特么帅了!'

salida de aspecto:
Aquí Insertar imagen Descripción
comillas simples no escapan caracteres especiales, una negación directa de la más guapo que no estoy feliz, hoy aquí, terminando el contenido de la cadena de mañana.

Publicado 49 artículos originales · alabanza ganado 18 · vistas 3991

Supongo que te gusta

Origin blog.csdn.net/weixin_41047549/article/details/104946147
Recomendado
Clasificación