script shell (2)

Maintenant, je sais ce que fait le shell. Après l'avoir expérimenté pendant un moment, examinons la composition du shell, comme la composition de java.

 

1. Variables

Une variable dans un script shell peut être une valeur, une commande ou un chemin . Le format de définition d'une variable est: nom de variable = valeur de la variable, le symbole $ doit être ajouté lors du référencement de la variable dans le script

L'exemple suivant ajoutera des variables

  #!/bin/bash
## In this script we will use variables.
## Writen by homey 2019-11-13

    d=`date +%H:%M:%S`				#反引号的作用是将引号内的字符串当成shell命令执行,返回命令的执行结果
    echo "The script begin at $d." #引用变量前面要加$
    echo "Now we'll sleep 2 seconds."
    sleep 2 #睡2秒再执行下面
    d1=`date +%H:%M:%S`
    echo "The script end at $d1."

Courez et voyez par vous-même.

 

2. Opérations numériques

L'exemple suivant ajoutera des opérations

#! /bin/bash 
## For get the sum of two numbers.
## Writen by homey 2019-11-13

a=1
b=2
sum=$[$a+$b]  #数学计算要用[]括起来,并且前面要加上符号$。
echo "$a+$b=$sum"

Géré par moi-même

 

3. Interagir avec l'utilisateur

#!/bin/bash
## Using 'read' in shell script.
## Writen by homey 2019-11-13

    read -p "Please input a number:" x
    read -p "Please input another number:" y
            sum=$[$x+$y]
    echo "The sum of two numbers is:$sum"

Exécutez-le vous-même pour en faire l'expérience.

 

4. Variables prédéfinies du script shell

#!/bin/bash
## 测试预设变量
## Writen by homey 2019-11-13

    sum=$[$1+$2]
    echo "sum=$sum"

Le résultat est

cosun@cosun:/usr/local/sbin$ ./test4.sh 5 46
sum=51

$1Le premier paramètre indique le script, $2représente le deuxième argument du script , et ainsi de suite .

Il n'y a pas de limite au nombre de variables prédéfinies dans un script. De plus $0, il représente le nom du script lui-même .

 

5. Jugement logique dans le script Shell

Ce script shell est toujours différent de notre java, voir ci-dessous

#!/bin/bash 

read -p "Please input you score: " a
if ((a<60));then
        echo "You didn't pass the exam."
elif ((a>=60)) && ((a<90));then				# elif相对if,再做一次判断
        echo "Good!You passed the exam."
else
        echo "Very good!Your score is very high."
fi

L' analyse de la taille numérique en plus peut être utilisée(( )) en dehors de la forme, peut également être utilisé [], mais pas >, <, =un tel symbole, et à l'utilisation de -lt(inférieur), -gt(supérieur à), -le(ou moins), -ge(supérieur ou égal à), -eq(égal à), -ne(Pas égal à) . Voyez ce que vous aimez utiliser.

En plus de if, vous pouvez également utiliser le cas

#!/bin/bash

read -p "Input a number: " n
a=$[n%2]
case $a in
1)
        echo "The number is odd."				# odd:奇数
        ;;
0)
        echo "The number is even."				# even:偶数
        ;;
*)
        echo "It's not a number!"
esac

caseLes scripts sont souvent utilisés pour écrire des scripts de démarrage pour les services système .

6. Boucles dans le shell

#!/bin/bash 

for i in `seq 1 5`; do				# seq 1 5 表示从1到5的一个序列
        echo $i
done

Ou en boucle

#!/bin/bash 

a=6
while [ $a -ge 1]
do
        echo $a
        a=$[$a-1]
done

7. Fonctions en shell

#!/bin/bash

function sum()
{
        sum=$[$1+$2]
        echo $sum
}
sum $1 $2				#预设变量$1 $2

Tout le monde peut jouer librement, puis rejoindre la pause ou continuer ou même sortir dans le shell

En fait, tout comme notre langage de programmation JAVA actuel, le shell n'est qu'une entrée ici, vous pouvez aller plus loin si vous le souhaitez.

Enfin, merci encore:

https://blog.csdn.net/miss1181248983/article/details/81278937

Je suis essentiellement son blog pour m'entraîner.

A publié 51 articles originaux · Comme 4 · Visiteur 7897

Je suppose que tu aimes

Origine blog.csdn.net/u012174809/article/details/103044542
conseillé
Classement