shell script獲取文件名或者目錄名稱的方法
引言
個別時候需要將當(dāng)前文件(文件自己)拷貝到一個固定的目錄(項目組都熟悉的目錄)下面,可以使用 shell 腳本來實現(xiàn)此功能,比較簡單。
可以首先通過兩個小的例子來了解下面兩個命令:
basename
命令描述:打印 NAME 并刪除任何前導(dǎo)目錄組件。 如果指定,還刪除尾隨 SUFFIX
還是通過例子來看看會更加清晰一些:
[root@localhost ~]# basename /usr/bin/sort sort [root@localhost ~]# basename -s .h include/stdio.h stdio
dirname
命令描述:輸出每個 NAME 并刪除其最后一個非斜杠組件并刪除尾部斜杠; 如果 NAME 不包含 /,則輸出 ‘.’ (表示當(dāng)前目錄)。
還是通過例子來看看會更加清晰一些:
[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)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Linux系統(tǒng)中同時執(zhí)行多個腳本運行方法小結(jié)
文章詳細(xì)解釋了在命令行中使用&&,||,;和&符號來控制Python腳本的執(zhí)行順序和錯誤處理策略,&&確保前一個腳本成功后執(zhí)行下一個,||則在前一個腳本失敗后執(zhí)行后續(xù)腳本,;無論前一個腳本是否出錯都會執(zhí)行下一個,而&則用于并行執(zhí)行多個腳本,需要的朋友可以參考下2024-12-12
linux下安裝配置Memcache和PHP環(huán)境的實現(xiàn)
下面小編就為大家?guī)硪黄猯inux下安裝配置Memcache和PHP環(huán)境的實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02
shell腳本實現(xiàn)一鍵獲取linux內(nèi)存/cpu/磁盤IO信息
這篇文章主要為大家詳細(xì)介紹了如何通過shell腳本實現(xiàn)一鍵獲取linux內(nèi)存/cpu/磁盤IO等信息,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2024-12-12

