shell script獲取文件名或者目錄名稱的方法
引言
個(gè)別時(shí)候需要將當(dāng)前文件(文件自己)拷貝到一個(gè)固定的目錄(項(xiàng)目組都熟悉的目錄)下面,可以使用 shell 腳本來實(shí)現(xiàn)此功能,比較簡單。
可以首先通過兩個(gè)小的例子來了解下面兩個(gè)命令:
basename
命令描述:打印 NAME 并刪除任何前導(dǎo)目錄組件。 如果指定,還刪除尾隨 SUFFIX
還是通過例子來看看會(huì)更加清晰一些:
[root@localhost ~]# basename /usr/bin/sort sort [root@localhost ~]# basename -s .h include/stdio.h stdio
dirname
命令描述:輸出每個(gè) NAME 并刪除其最后一個(gè)非斜杠組件并刪除尾部斜杠; 如果 NAME 不包含 /,則輸出 ‘.’ (表示當(dāng)前目錄)。
還是通過例子來看看會(huì)更加清晰一些:
[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 .
注意對比最后兩個(gè)結(jié)果的差異。
shell script
舉例子:編寫shell script 將文件拷貝到指定文件夾(存儲(chǔ)起來)。
知道前面兩個(gè)命令的作用和實(shí)例后,實(shí)現(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)文章希望大家以后多多支持腳本之家!
相關(guān)文章
NetCat工具命令介紹及遠(yuǎn)程文件傳輸實(shí)現(xiàn)
這篇文章主要為大家介紹了NetCat工具命令的介紹以及遠(yuǎn)程文件傳輸實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03linux bash中too many arguments問題的解決方法
本文介紹下在linux bash shell中出現(xiàn)too many arguments問題的解決辦法,有需要的朋友參考學(xué)習(xí)下2013-11-11linux shell 根據(jù)進(jìn)程名獲取pid的實(shí)現(xiàn)方法
這篇文章主要介紹了linux shell 根據(jù)進(jìn)程名獲取pid的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05shell腳本實(shí)現(xiàn)定時(shí)刪除文件或文件夾
本文主要介紹了shell腳本實(shí)現(xiàn)定時(shí)刪除文件或文件夾,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08