shell script獲取文件名或者目錄名稱的方法
引言
個別時候需要將當前文件(文件自己)拷貝到一個固定的目錄(項目組都熟悉的目錄)下面,可以使用 shell 腳本來實現(xiàn)此功能,比較簡單。
可以首先通過兩個小的例子來了解下面兩個命令:
basename
命令描述:打印 NAME 并刪除任何前導目錄組件。 如果指定,還刪除尾隨 SUFFIX
還是通過例子來看看會更加清晰一些:
[root@localhost ~]# basename /usr/bin/sort sort [root@localhost ~]# basename -s .h include/stdio.h stdio
dirname
命令描述:輸出每個 NAME 并刪除其最后一個非斜杠組件并刪除尾部斜杠; 如果 NAME 不包含 /,則輸出 ‘.’ (表示當前目錄)。
還是通過例子來看看會更加清晰一些:
[root@localhost ~]# dirname /usr/include/stdio.h /usr/include [root@localhost ~]# cd /usr/include/ [root@localhost include]# dirname /usr/include/stdio.h /usr/include [root@localhost include]# dirname stdio.h .
注意對比最后兩個結(jié)果的差異。
shell script
舉例子:編寫shell script 將文件拷貝到指定文件夾(存儲起來)。
知道前面兩個命令的作用和實例后,實現(xiàn)該功能就很簡單了。
直接上腳本:
#!/bin/sh #copy myslef to /localdisk ################################## # main funtion define ################################## main() { ? ? local param=0 ?? ?local TAR_DIR="/localdisk" ? ? local dir=`ls / | grep ${TAR_DIR}` ? ? if [ -z "$dir" ]; then ? ? ? ? local progName=`basename $0` ? ? ? ? mkdir -p ${TAR_DIR} ? ? ? ? mv $progName ${TAR_DIR} ? ? fi ? ? return $param } main $@
了解更多
可以通過下面命令了解更多關(guān)于 basename 和 dirname 的用法。
man basename man dirname
到此這篇關(guān)于shell script獲取文件名或者是目錄名稱的方法的文章就介紹到這了,更多相關(guān)shell script獲取文件名內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。