系統已經定義了一些系統變數,如 echo $uid; echo $user; echo $pwd..
想看到所有的環境變數,用 env
如果乙個專案需要拆分成許多小指令碼,可以在其中乙個指令碼中定義一些全域性性的變數,然後在別的指令碼中用點 或 source執行,執行後就可以引用。
shell中,變數沒有型別,不需要像c語言那樣,先定義,後使用,如 int x
以上為某指令碼kvm-manager示例,很多特別的定義,在指令碼前面先顯示定義,後面直接去呼叫。 如 red_col = ""\e[1;31m"
shell預設將變數看作是string 型別
[root@localhost ~]# num1=10
[root@localhost ~]# num2=20
[root@localhost ~]# echo $num1 + $num2
10 + 20 #此處為變數的引用。不會計算;即shell預設把變數當作string字串型別
[root@localhost ~]# echo `date`
mon apr 20 10:05:17 edt 2020
[root@localhost ~]# echo `date +%f`
2020-04-20
[root@localhost ~]#
[root@localhost code]# read -n 2 name
hel[root@localhost code]# echo $name
he # 只取前兩個字元
[root@localhost code]# read ip1 ip2 ip3 ip4
1.1.1.1
[root@localhost code]# echo $ip1
1.1.1.1
[root@localhost code]# echo $ip2
[root@localhost code]# echo $ip3
[root@localhost code]#
[root@localhost code]# read ip1 ip2 ip3 ip4
1.1.1.1 2.2.2.2 3.3.3.3 4.4.4.4
[root@localhost code]# echo $ip1
1.1.1.1
[root@localhost code]# echo $ip2
2.2.2.2
[root@localhost code]# echo $ip3
3.3.3.3
[root@localhost code]# echo $ip4
4.4.4.4
[root@localhost code]# cat read_test.sh
#!/usr/bin/bash
read -p "輸入姓名:" name
read -p "輸入性別:" ***
read -p "輸入年齡:" age
echo "您輸入的姓名是:$name, 性別:$***, 年齡: $age"
[root@localhost code]# chmod a+x read_test.sh
[root@localhost code]# sh read_test.sh
輸入姓名:wesley
輸入性別:male
輸入年齡:18
您輸入的姓名是:wesley, 性別:male, 年齡: 18
[root@localhost code]# cat read_test.sh
#!/usr/bin/bash
read -p "輸入姓名,性別,年齡" name *** age
#read -p "輸入性別:" ***
#read -p "輸入年齡:" age
echo "您輸入的姓名是:$name, 性別:$***, 年齡: $age"
[root@localhost code]#
[root@localhost code]# ./read_test.sh
輸入姓名,性別,年齡wesley male 18
您輸入的姓名是:wesley, 性別:male, 年齡: 18
凡是在單引號中,即使算變數,也會喪失其變數的含義。
shell中建議用$()的方式。
[root@localhost code]# disk_free3=$(df -ph |grep '/$'|awk '')
[root@localhost code]# echo $disk_free3
14g
bash 變數賦值方式
例子 經常在 configure 指令碼中,會出現以下類似的語句,都表示什麼意思呢?if test n then ac env build alias set test set 答案及擴充套件 變數賦值方式 str 沒有賦值 str 為空字串 str 為非空字串 備註 var var expr va...
bash 變數賦值方式
例子 經常在 configure 指令碼中,會出現以下類似的語句,都表示什麼意思呢?if test n then ac env build alias set test set 答案及擴充套件 變數賦值方式 str 沒有賦值 str 為空字串 str 為非空字串 備註 var var expr va...
4 變數和不同的賦值方式
變數的定義和使用 變數定義 cc gcc target hello.out 變數使用 target func.o main.o cc o target func.o main.o makefile 中變數的賦值方式 x foo y x b x new phony test test echo x x...