- 命令執行狀態返回值
在Linux bash中可以用命令執行狀態返回值來判斷命令是否運行成功,而不需去關心命令返回的結果是多少。- bash通過狀態返回值來得到輸出結果;
- 成功:返回值 0
[root@localhost tmp]# ls aaa [root@localhost tmp]# mkdir $(date +%H-%m-%S) [root@localhost tmp]# ls 04-02-49 aaa [root@localhost tmp]# echo $? 0
- 失?。悍祷刂?1-255
[root@localhost tmp]# ls llllllll ls: cannot access llllllll: No such file or directory [root@localhost tmp]# echo $? 2
- 成功:返回值 0
- 命令執行完成后,狀態返回值保存在bash的特殊變量$?中;
$?只能獲取最近一條命令的狀態結果,還可以把 $?放在提示符里去,這樣每次運行命令都能看到狀態結果;[root@localhost tmp]# export PS1="[\$?]${PS1}" [0][root@localhost tmp]# ls llll ls: cannot access llll: No such file or directory [2][root@localhost tmp]#
- 命令正常執行時,有的還會有命令返回值; 根據命令及其功能的不同,返回結果各不相同;
引用命令的執行結果:$(COMMAND) 或 ‘COMMAND’
- bash通過狀態返回值來得到輸出結果;
- 命令行展開
在Linux bash中使用命令行展開一步完成需要分開成多步完成的操作,而達到事半功倍的效果。在Linux指令參數位置使用”{}” 將相應的參數括起來,括號中的參數以逗號分隔,然后bash在執行這一指令時會自動將括號中的內容進行展開。- 創建/tmp目錄下的:a_c, a_d, b_c, b_d
[0][root@localhost aabb]# ll total 0 [0][root@localhost aabb]# mkdir {a,b}_{c,d} [0][root@localhost aabb]# tree . ├── a_c ├── a_d ├── b_c └── b_d
- 創建/tmp/mylinux目錄下的:
[0][root@localhost tmp]# ll total 0 [0][root@localhost tmp]# mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}} [0][root@localhost mylinux]# tree . ├── bin ├── boot │?? └── grub ├── dev ├── etc │?? ├── rc.d │?? │?? └── init.d │?? └── sysconfig │?? └── network-scripts ├── lib │?? └── modules ├── lib64 ├── proc ├── sbin ├── sys ├── tmp ├── usr │?? └── local │?? ├── bin │?? └── sbin └── var ├── lock ├── log └── run 24 directories, 0 files
- 創建/tmp目錄下的:a_c, a_d, b_c, b_d
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/91789
沒問題。