shell script獲取文件名或者目錄名稱的方法
引言
個(gè)別時(shí)候需要將當(dāng)前文件(文件自己)拷貝到一個(gè)固定的目錄(項(xiàng)目組都熟悉的目錄)下面,可以使用 shell 腳本來(lái)實(shí)現(xiàn)此功能,比較簡(jiǎn)單。
可以首先通過(guò)兩個(gè)小的例子來(lái)了解下面兩個(gè)命令:
basename
命令描述:打印 NAME 并刪除任何前導(dǎo)目錄組件。 如果指定,還刪除尾隨 SUFFIX
還是通過(guò)例子來(lái)看看會(huì)更加清晰一些:
[root@localhost ~]# basename /usr/bin/sort sort [root@localhost ~]# basename -s .h include/stdio.h stdio
dirname
命令描述:輸出每個(gè) NAME 并刪除其最后一個(gè)非斜杠組件并刪除尾部斜杠; 如果 NAME 不包含 /,則輸出 ‘.’ (表示當(dāng)前目錄)。
還是通過(guò)例子來(lái)看看會(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 .
注意對(duì)比最后兩個(gè)結(jié)果的差異。
shell script
舉例子:編寫shell script 將文件拷貝到指定文件夾(存儲(chǔ)起來(lái))。
知道前面兩個(gè)命令的作用和實(shí)例后,實(shí)現(xiàn)該功能就很簡(jiǎ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ò)下面命令了解更多關(guān)于 basename 和 dirname 的用法。
man basename man dirname
到此這篇關(guān)于shell script獲取文件名或者是目錄名稱的方法的文章就介紹到這了,更多相關(guān)shell script獲取文件名內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Linux?ps命令詳解及Linux查看進(jìn)程的操作方法
這篇文章主要介紹了Linux?ps命令詳解,Linux查看進(jìn)程的操作方法,ps命令常用的方式有三種,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12
linux 守護(hù)進(jìn)程詳解及建立守護(hù)進(jìn)程
這篇文章主要介紹了linux 守護(hù)進(jìn)程詳解及建立守護(hù)進(jìn)程的相關(guān)資料,需要的朋友可以參考下2017-04-04
Linux系統(tǒng)中同時(shí)執(zhí)行多個(gè)腳本運(yùn)行方法小結(jié)
文章詳細(xì)解釋了在命令行中使用&&,||,;和&符號(hào)來(lái)控制Python腳本的執(zhí)行順序和錯(cuò)誤處理策略,&&確保前一個(gè)腳本成功后執(zhí)行下一個(gè),||則在前一個(gè)腳本失敗后執(zhí)行后續(xù)腳本,;無(wú)論前一個(gè)腳本是否出錯(cuò)都會(huì)執(zhí)行下一個(gè),而&則用于并行執(zhí)行多個(gè)腳本,需要的朋友可以參考下2024-12-12
linux下安裝配置Memcache和PHP環(huán)境的實(shí)現(xiàn)
下面小編就為大家?guī)?lái)一篇linux下安裝配置Memcache和PHP環(huán)境的實(shí)現(xiàn)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
Linux內(nèi)核鏈表實(shí)現(xiàn)過(guò)程
本文講解Linux內(nèi)核鏈表實(shí)現(xiàn)的過(guò)程,說(shuō)了鏈表的定義及初始化宏定義、操作和刪除操作等內(nèi)容,詳細(xì)看下面2013-11-11
一文詳解Linux權(quán)限的相關(guān)知識(shí)
Linux權(quán)限是用來(lái)管理文件和目錄訪問(wèn)權(quán)限的機(jī)制,每個(gè)文件和目錄都有一個(gè)所有者和一個(gè)所屬組,同時(shí)也有針對(duì)所有者、所屬組和其他用戶的權(quán)限設(shè)置,本篇文章將講授Linux的權(quán)限相關(guān)的知識(shí),需要的朋友可以參考下2023-09-09
shell腳本實(shí)現(xiàn)一鍵獲取linux內(nèi)存/cpu/磁盤IO信息
這篇文章主要為大家詳細(xì)介紹了如何通過(guò)shell腳本實(shí)現(xiàn)一鍵獲取linux內(nèi)存/cpu/磁盤IO等信息,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2024-12-12

