1. 程式人生 > 其它 >Shell自動化運維學習

Shell自動化運維學習

執行shell指令碼的多種方式:

1.[root@localhost ~]# bash file1    //第一種方式
2.[root@localhost ~]# sh file1    //第二種方式
3.[root@localhost ~]# . file1    //第三種方式
4.[root@localhost ~]# source file1    //第四種方式

其中,1、2方式是子shell執行,3、4方式是本shell執行

定義變數:

[root@localhost ~]# name="majiajun 123"  //注意!等號兩邊不能有空格。且如果變數的值有空格,需要用引號包含

使用變數:

[root@localhost ~]# echo $name

重複定義變數:

[root@localhost ~]# name=majiajun
[root@localhost ~]# name=123
[root@localhost ~]# echo $name        //重複定義變數會導致變數的值被覆蓋
輸出結果:123

變數追加內容:

[root@localhost ~]# name=123
[root@localhost ~]# name="$name"456    //一定要加引號,才能看做一個整體。這樣可以實現追加效果。
[root@localhost ~]# echo $name
123456

也可以使用另一種方式追加內容:

[root@localhost ~]# name=123
[root@localhost ~]# name=${name}456    //同理,使用大括號內變數名的方式表示一個整體
[root@localhost ~]# echo $name
123456

變數的檢視:

[root@localhost ~]# set | gerp name  //set命令可以檢視系統所有變數
name=123456

變數的刪除:

[root@localhost ~]# unset name    //刪除變數名為name的變數,不需要加$

變數的使用案例:(重點不是如何使用運算子判斷是否線上,重點是明白變數的使用技巧)

read -p "您要查詢的ip是?" ip    //讓使用者輸入要查詢的IP地址,放入ip變數內
ping -c 1 ${ip} &> /dev/null && echo ${ip} up || echo ${ip} down    //判斷使用者是否線上,並輸出變數內的ip地址+結果