基礎命令學習目錄首頁css
常見用法舉例bashname命令用於獲取路徑中的文件名或路徑名(獲取的時候葉子節點的元素內容)html
basename path獲取末尾的文件名或路徑名linux
1: [aliyunzixun@xxx.com lianxi]# basename /etc/passwd
2: passwd
3: [aliyunzixun@xxx.com lianxi]# basename /etc/man.config
4: man.config
5: [aliyunzixun@xxx.com lianxi]# basename /etc/
6: etc 去掉末尾的指定字符
若是咱們不須要擴展名或是末尾的子字符串的時候,第二個參數指定其便可取消。shell
取消擴展名
1: [aliyunzixun@xxx.com lianxi]# basename /etc/man.config
2: man.config
3: [aliyunzixun@xxx.com lianxi]# basename /etc/man.config .config
4: man
取消指定的字符總結以下,要取消db.data,包括了擴展名在內bash
1: [aliyunzixun@xxx.com lianxi]# ls namedb.data
2: namedb.data
3: [aliyunzixun@xxx.com lianxi]# basename namedb.data db.data
4: name
經過basename來獲取末尾的文件名或目錄名函數
$ basename /usr/bin/sort 輸出"sort"。$ basename ./include/stdio.h .h 輸出"stdio"。爲basename指定一個路徑,basename命令會刪掉全部的前綴包括最後一個slash(‘/’)字符,而後將字符串顯示出來。
basename [pathname] [suffix]basename [string] [suffix]suffix爲後綴,若是suffix被指定了,basename會將pathname或string中的suffix去掉。
一、若是像下面腳本中傳遞參數給basename,參數爲空,basename會將參數左移二、basename最多接受兩個參數,若是設置的參數多於兩個,會提示錯誤。
一、$@$@ 爲傳遞的參數二、$#$# 爲傳遞參數的數量
三、$?
是shell變量,表示"最後一次執行命令"的退出狀態,通常0表示成功,非0數值表示沒有成功。切記:$?永遠表示shell命令最後一次執行後的退出狀態,當函數執行完畢後,若是又執行了其它命令,則$?再也不表示函數執行後的狀態,而表示其它命令的退出狀態.四、$!表明pid,進程id五、$$表明ppid,父進程id
- $ ./skype &
- [2] 13549
- $ echo $!
- 13549
- $ echo $$
- 13032
- $ ps -ef | grep skype
- luck 13549 13032 4 19:19 pts/0 00:00:00 skype
原文連接:https://blog.csdn.net/wutao_water/article/details/39478631測試