1. 變量:docker
[root@yeyeck ~]# myname=yeyeck [root@yeyeck ~]# echo $myname yeyeck [root@yeyeck ~]# echo ${myname} yeyeck [root@yeyeck ~]# line='my name is ${myname}' <- 單引號不保留特定功能 [root@yeyeck ~]# echo $line my name is ${myname} [root@yeyeck ~]# line2="my name is ${myname}" <- 雙引號保留特定功能 [root@yeyeck ~]# echo $line2 my name is yeyeck [root@yeyeck ~]#
2. 環境變量與子進程bash
設置環境變量: export 變量名oop
進入子進程: bashspa
離開子進程:exitcode
[root@yeyeck ~]# myname=yeyeck <- 定義一個普通變量 [root@yeyeck ~]# bash <- 進入子進程 [root@yeyeck ~]# echo $myname <- 在子進程中視圖輸出該變量, 無效 [root@yeyeck ~]# exit <- 離開子進程 exit [root@yeyeck ~]# echo $myname <- 回到父進程,輸出該變量,有效 yeyeck [root@yeyeck ~]# export myname <- 將該變量設置爲環境變量 [root@yeyeck ~]# bash <- 進入子進程 [root@yeyeck ~]# echo $myname <- 在子進程中視圖輸出該變量, 生效 yeyeck [root@yeyeck ~]# exit <- 離開子進程 exit [root@yeyeck ~]# unset myname <- 清楚該變量 [root@yeyeck ~]# bash [root@yeyeck ~]# echo $myname <- 子進程中無效 [root@yeyeck ~]# exit exit [root@yeyeck ~]# $myname <- 父進程中也無效
3. 將命令運行結果 保存到變量中blog
兩種方法,用反單引號 `命令` 或者 $(命令)進程
[root@yeyeck ~]# ifconfig docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255 ether 02:42:11:c4:23:5a txqueuelen 0 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.18.122.194 netmask 255.255.240.0 broadcast 172.18.127.255 ether 00:16:3e:02:23:2c txqueuelen 1000 (Ethernet) RX packets 6370781 bytes 1439478547 (1.3 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 8320275 bytes 1025890184 (978.3 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 loop txqueuelen 1000 (Local Loopback) RX packets 36 bytes 4896 (4.7 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 36 bytes 4896 (4.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [root@yeyeck ~]# [root@yeyeck ~]# [root@yeyeck ~]# [root@yeyeck ~]# [root@yeyeck ~]# [root@yeyeck ~]# ipInfo=$(ifconfig) [root@yeyeck ~]# echo $ipInfo docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255 ether 02:42:11:c4:23:5a txqueuelen 0 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.18.122.194 netmask 255.255.240.0 broadcast 172.18.127.255 ether 00:16:3e:02:23:2c txqueuelen 1000 (Ethernet) RX packets 6370825 bytes 1439482437 (1.3 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 8320306 bytes 1025895604 (978.3 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 loop txqueuelen 1000 (Local Loopback) RX packets 36 bytes 4896 (4.7 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 36 bytes 4896 (4.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [root@yeyeck ~]# [root@yeyeck ~]# [root@yeyeck ~]# ipInfo2=`ifconfig` [root@yeyeck ~]# echo $ipInfo2 docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255 ether 02:42:11:c4:23:5a txqueuelen 0 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.18.122.194 netmask 255.255.240.0 broadcast 172.18.127.255 ether 00:16:3e:02:23:2c txqueuelen 1000 (Ethernet) RX packets 6370907 bytes 1439489387 (1.3 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 8320354 bytes 1025902656 (978.3 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 loop txqueuelen 1000 (Local Loopback) RX packets 36 bytes 4896 (4.7 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 36 bytes 4896 (4.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
4. 讀取用戶輸入ip
read [-pt] variableinput
-p 後面能夠接提示語句提示用戶輸入什麼it
-t 後面能夠接等待的時間
[root@yeyeck ~]# read words I am yeyeck [root@yeyeck ~]# echo $words I am yeyeck [root@yeyeck ~]# read -p'who are you?' who are you?yeyeck [root@yeyeck ~]# echo $words I am yeyeck [root@yeyeck ~]# read -p'Please input your name: ' yourName Please input your name: yeyeck [root@yeyeck ~]# echo $yourName yeyeck [root@yeyeck ~]# read -p'Please input your age: ' -t 5 yourAge Please input your age: 12 [root@yeyeck ~]# read -p'Please input your address: ' -t 5 yourAddr Please input your address: [root@yeyeck ~]# <- 5s 內沒有輸入,等待結束 [root@yeyeck ~]# echo $yourAddr [root@yeyeck ~]#