日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

shell?script獲取文件名或者目錄名稱的方法_linux shell

作者:lm_hao ? 更新時(shí)間: 2022-08-02 編程語(yǔ)言

引言

個(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

舉例子:編寫(xiě)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

原文鏈接:https://blog.csdn.net/llm_hao/article/details/124472513

欄目分類
最近更新