Maison > Article > Opération et maintenance > Comment les scripts shell doivent-ils être utilisés ?
Le script Shell utilise la fonction d'interprétation des commandes de Shell pour analyser un fichier texte brut, puis exécuter ces fonctions. On peut également dire que le script Shell est une collection d'une série de commandes.
Shell peut être utilisé directement sur Win/Unix/Linux et peut appeler un grand nombre de fonctions internes du système pour interpréter et exécuter des programmes. Si vous maîtrisez les scripts Shell, cela nous facilitera l'utilisation de l'ordinateur. et gagnez beaucoup de temps.
Simplifier certaines commandes complexes (généralement, nous devrons peut-être soumettre le code github une fois là-bas il y a plusieurs étapes, mais elles peuvent être simplifiées en une seule étape à l'aide de Shell)
Vous pouvez écrire des scripts pour remplacer automatiquement le dernier SDK (bibliothèque) dans un projet
Emballage automatique, compilation, publication et autres fonctions
Nettoyer les dossiers vides sur le disque
En bref, vous peut essayer n'importe quel script live régulier
Lorsque des calculs précis sont requis
L'efficacité du langage est requise Lorsqu'elle est élevée
Lorsque certaines opérations réseau sont nécessaires
En bref, Shell peut développer rapidement un script pour simplifier le processus de développement, et ne peut pas être utilisé Langage alternatif de haut niveau
Shell peut être appelé un langage de script car il ne nécessite la compilation elle-même, mais est interprétée. Une fois que le compilateur l'a interprété, il l'a compilé et exécuté. Par rapport aux langages traditionnels, il y a un processus d'interprétation supplémentaire, donc l'efficacité sera légèrement pire que celle des langages traditionnels directement compilés.
#!/bin/bashecho "Hello World"
Ouvrez simplement l'outil d'édition de texte, modifiez-le comme ci-dessus, puis enregistrez-le sous test.sh
1. cd 到该目录下2. chmod +x ./test.sh #给脚本权限3. ./test.sh #执行脚本
De cette façon, nous Le premier et le plus simple script a été écrit. Nous pouvons maintenant essayer d'écrire des scripts complexes.
myText="hello world"muNum=100
Ce qu'il faut noter ici, c'est qu'il ne peut pas y avoir d'espaces avant et après "=", et les règles de dénomination sont les mêmes que dans les autres langues.
myText="hello world"muNum=100echo $myTextecho muNum
Lorsque vous souhaitez accéder aux variables, vous devez utiliser $, sinon la sortie sera du texte brut, comme le montre la figure ci-dessous .
#!/bin/bashecho "Hello World !"a=3b=5val=`expr $a + $b`echo "Total value : $val"val=`expr $a - $b`echo "Total value : $val"val=`expr $a \* $b`echo "Total value : $val"val=`expr $a / $b`echo "Total value : $val"
Ce qu'il faut noter ici, c'est que lors de la définition de variables, il ne peut pas y avoir d'espaces avant et après "=", mais lors de l'exécution de quatre opérations arithmétiques, il doit y avoir des espaces avant et après les symboles d'opération, la multiplication doivent être échappés.
a=3b=5val=`expr $a / $b`echo "Total value : $val"val=`expr $a % $b`echo "Total value : $val"if [ $a == $b ]then echo "a is equal to b"fiif [ $a != $b ]then echo "a is not equal to b"fi
a=10b=20if [ $a -eq $b ]then echo "true"else echo "false"fiif [ $a -ne $b ]then echo "true"else echo "false"fiif [ $a -gt $b ]then echo "true"else echo "false"fiif [ $a -lt $b ]then echo "true"else echo "false"fiif [ $a -ge $b ]then echo "true"else echo "false"fiif [ $a -le $b ]then echo "true"else echo "false"fi
#!/bin/shmtext="hello" #定义字符串 mtext2="world"mtext3=$mtext" "$mtext2 #字符串的拼接echo $mtext3 #输出字符串echo ${#mtext3} #输出字符串长度echo ${mtext3:1:4} #截取字符串
#!/bin/sharray=(1 2 3 4 5) #定义数组 array2=(aa bb cc dd ee) #定义数组 value=${array[3]} #找到某一个下标的数,然后赋值echo $value #打印 value2=${array2[3]} #找到某一个下标的数,然后赋值echo $value2 #打印 length=${#array[*]} #获取数组长度echo $length
#!/bin/shecho "hello world" echo hello world text="hello world"echo $textecho -e "hello \nworld" #输出并且换行echo "hello world" > a.txt #重定向到文件echo `date` #输出当前系统时间
同c语言,就不过多介绍了
if
if-else
if-elseIf
case
#!/bin/sha=10b=20if [ $a == $b ]then echo "true"fiif [ $a == $b ]then echo "true"else echo "false"fiif [ $a == $b ]then echo "a is equal to b"elif [ $a -gt $b ]then echo "a is greater than b"elif [ $a -lt $b ]then echo "a is less than b"else echo "None of the condition met"fi
test $[num1] -eq $[num2] #判断两个变量是否相等 test num1=num2 #判断两个数字是否相等
for循环
#!/bin/shfor i in {1..5}doecho $idonefor i in 5 6 7 8 9doecho $idonefor FILE in $HOME/.bash*do echo $FILEdone
<code class="bash"><span class="hljs-meta"><br/><img src="https://img.php.cn/upload/article/000/000/001/e287dce1bca30a9896dc8bd2ecb0e156-15.png" alt=""/></span></code>
#!/bin/shCOUNTER=0while [ $COUNTER -lt 5 ]doCOUNTER=`expr $COUNTER + 1`echo $COUNTERdoneecho '请输入。。。'echo 'ctrl + d 即可停止该程序'while read FILMdoecho "Yeah! great film the $FILM"done
以上是while循环的两种用法,第一种是比较常规的,执行循环,然后每次都把控制的数加1,就可以让while循环有退出的条件了。
第二种是用户从键盘数据,然后把用户输入的文字输出出来。
break #跳出所有循环 break n #跳出第n层f循环 continue #跳出当前循环
#!/bin/shsysout(){echo "hello world"} sysout
定义一个没有返回值的函数,然后调用该函数
#!/bin/shtest(){ aNum=3anotherNum=5return $(($aNum+$anotherNum)) } test result=$?echo $result
定义一个有返回值的函数,调用该函数,输出结果
#!/bin/shtest(){echo $1 #接收第一个参数echo $2 #接收第二个参数echo $3 #接收第三个参数echo $# #接收到参数的个数echo $* #接收到的所有参数 } test aa bb cc
定义了一个需要传递参数的函数
$echo result > file #将结果写入文件,结果不会在控制台展示,而是在文件中,覆盖写 $echo result >> file #将结果写入文件,结果不会在控制台展示,而是在文件中,追加写echo input < file #获取输入流
#!/bin/bashecho "-------Begin-------"git add . git commit -m $1echo $1git push origin masterecho "--------End--------"
以上便是我对shell知识的总结,欢迎大家点心,评论,一起讨论~~
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!