命令執行狀態返回值及命令行展開是bash的2個基本特性,其詳細特點及應用如下:
一、命令執行的狀態結果:bash通過狀態返回值來輸出此結果
成功:0
失?。?-255
命令執行完成之后,其狀態返回值保存與bash的特殊變量$?中; echo $?
如:ls /etc
echo $?
結果會發現命令下方會彈出一個數字0 這就表示這個命令是執行成功了
ls /etccc
echo $?
結果發現彈出一個數字2 表示命令執行失敗
命令正常執行時,有的還會有命令返回值
根據命令及其功能不同,結果各不相同
引用命令的執行結果:
$(COMMAND)
或‘COMMAND'
如:date 查看系統日期
SUN NOV 6 09:29:17
date +%H-%M-%S 以橫杠連接日期的形式顯示
09-30-32
mkdir $(date +%H-%M-%S) 將date +%H-%M-%S這一命令的結果作為一個變量參數,將他作為一個目錄來用
ls
09-35-03 目錄
二、命令行的展開
~:自動展開為用戶的家目錄,或制定的用戶的家目錄
{}:可承載一個以逗號分隔的路徑列表,并能夠為其展開為多個路徑
例如:/tmp/{a,b} 相當于/tmp/a /tmp/b
如:1)創建/tmp/x/y1,/tmp/x/y2,/tmp/x/y1/a,/tmp/x/y1/b
mkdir -pv /tmp/{x/y1/{a,b},y2}
2)創建a_c,a_d,b_c,b_d
mkdir -v {a,b}_{c,d}
3)創建/tmp/mylinux目錄下的:
mylinux/
bin
boot
grub
dev
etc
rc.d
init.d
sysconfig
network-scripts
lib
modules
lib64
usr
local
bin
sbin
mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,usr/local/{bin,sbin}}
原創文章,作者:N24_yushan,如若轉載,請注明出處:http://www.www58058.com/58085
內容上能再擴充下會更好~~繼續加油~