bash命令行返回值和展開

bash命令行返回值和展開

標籤(空格分隔): bash,命令,狀態,展開linux


1.命令狀態結果和執行結果

 (1)命令執行的狀態返回值,命令執行完成以後,其執行狀態結果值保存於bash的特殊狀態變量$?中。
  0:成功
  1-255:失敗web

[root@yumc66 ~]# date
20161220日 星期二 11:57:10 CST
[root@yumc66 ~]# echo $?
0
[root@yumc66 ~]# $?
-bash: 0: command not found
[root@yumc66 ~]# echo $?
127

 (2)命令返回值(執行結果)
 命令返回值,根據命令及其功能不一樣,結果各不相同。
 命令返回值(執行結果)引用shell

$(COMMAND)
或`COMMAND`
~]#mkdir $(date +%H-%M-%S)
2.命令行展開

 ~:自動展開爲用戶的家目錄,或指定用戶的家目錄
 {}:分組機制,可承載以逗號,分割的路徑列表,並將其展開爲多個路徑
 例如1bash

~]# ls /tmp/{a,b} 至關於 ls /tmp/a /tmp/b

 例如2 建立/tmp/x/y1,/tmp/x/y2,/tmp/x/y1/a,/tmp/x/y1/bide

~]#mkdir -pv /tmp/x/{y1/{a,b},y2}
~]#tree /tmp/x 驗證

 例如3 建立a_c,a_d,b_c,b_dspa

~]#mkdir -pv /tmp/{a/{c,d},b/{c,d}}
或
~]#mkdir /tmp/{a,b}_{c,d} -v 或 ~]#mkdir -v /tmp/{a,b}_{c,d} 
~]#tree /tmp/a 驗證


 

  • 實驗題
 
  1. [root@2.250: tmp]#mkdir -p /tmp/mylinux/
  2. [root@2.250: tmp]#cd /tmp/mylinux
  3. [root@2.250: mylinux]#mkdir -p {bin,boot/grub,dev,etc/{rd.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}
  4. [root@2.250: mylinux]#tree
  5. .
  6. ├── bin
  7. ├── boot
  8.    └── grub
  9. ├── dev
  10. ├── etc
  11.    ├── rd.d
  12.       └── init.d
  13.    └── sysconfig
  14.    └── network-scripts
  15. ├── lib
  16.    └── modules
  17. ├── lib64
  18. ├── proc
  19. ├── sbin
  20. ├── sys
  21. ├── tmp
  22. ├── usr
  23.    └── local
  24.    ├── bin
  25.    └── sbin
  26. └── var
相關文章
相關標籤/搜索