shell變數設定與顯示

2021-09-06 07:17:10 字數 1371 閱讀 2961

[root@localhost ~]# echo $

/var/spool/mail/root

[root@localhost ~]# echo $ #貪婪前匹配刪除

root

[root@localhost ~]# echo $ #前匹配刪除

spool/mail/root

[root@localhost ~]# echo $ #後匹配刪除

/var/spool/mail

[root@localhost ~]# echo $ #貪婪後匹配刪除

[root@localhost ~]# echo $ #全域性替換

/var/spaal/mail/raat

[root@localhost ~]# echo $ #僅替換第乙個

/var/spaal/mail/root

[root@localhost ~]# unset a;var=$;echo $a,$var # var = (a == null) ? a : b

,b[root@localhost ~]# a='foo';var=$;echo $a,$var

foo,foo

[root@localhost ~]# unset a;var=$;echo $a,$var # var = a= (a == null)? a : b

b,b[root@localhost ~]# a='foo';var=$;echo $a,$var

foo,foo

變數設定方式

str沒有設定

str為空字元

str已設定為非空字元

var=$

var=expr

var=

var=$str

var=$

var=expr

var=expr

var=$str

var=$

var=expr

var=expr

var=expr

var=$

var=expr

var=

var=expr

var=$

var=expr

str=expr

str不變

var=

str不變

var=$str

var=$

var=expr

str=expr

var=expr

str=expr

str不變

var=$str

var=$

expr輸出至stderr

var=

var=$str

var=$

expr輸出至stderr

expr輸出至stderr

var=$str

Shell環境變數設定

關於shell指令碼變數傳遞 1本地變數無法傳遞到子程序 2環境變數對所有的子程序都有效 3無論本地變數還是環境變數都無法向父程序傳遞引數 論壇上的一位達人給了個非常經典的例子,記在這裡 hadoop3 linux 240 cat father.sh bin bash echo father pid...

Shell 變數與陣列

像其他程式語言一樣,shell語言支援變數賦值操作。shell的變數宣告時沒有型別的概念。而且從某種意義上來說,shell變數不需要宣告,在給變數賦值的同時就指定了變數的型別及變數的值。變數的使用極大地增強了指令碼的靈活性。變數宣告 很簡單,格式是 變數 值 注意在等式的兩邊不能有空格。如果兩邊均有...

shell 變數與環境變數

參考書籍 linux shell 指令碼攻略 變數是任何一種程式語言必不可少的組成部分,用於存放各類資料。指令碼語言通常不需要在使用變數之前宣告其型別,只需要直接賦值就可以了。在bash中,每乙個變數的值都是字串,都是以字串的形式儲存。環境變數 被shell環境或作業系統用來儲存一些特別的值的特殊的...