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

學無先后,達者為師

網站首頁 編程語言 正文

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

作者:lm_hao ? 更新時間: 2022-08-02 編程語言

引言

個別時候需要將當前文件(文件自己)拷貝到一個固定的目錄(項目組都熟悉的目錄)下面,可以使用 shell 腳本來實現此功能,比較簡單。

可以首先通過兩個小的例子來了解下面兩個命令:

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
.

注意對比最后兩個結果的差異。

shell script

舉例子:編寫shell script 將文件拷貝到指定文件夾(存儲起來)。
知道前面兩個命令的作用和實例后,實現該功能就很簡單了。
直接上腳本:

#!/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 $@

了解更多

可以通過下面命令了解更多關于 basename 和 dirname 的用法。

man basename
man dirname

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

欄目分類
最近更新