shell 中 basename 的簡單使用

2021-09-21 04:22:37 字數 1992 閱讀 6712

在shell 指令碼中$0 通常用於顯示指令碼的名稱,在不使用basename 的時候會顯示指令碼的路徑名稱例如1

2

3

4

5

cattest5.sh

#!/bin/bash

# testing the $0 parameter

echothe zero parameter issetto:$0

執行指令碼

bash /root/shell/test5.sh 

the zero parameter is set to:/root/shell/test5.sh ##顯示了指令碼的路徑

新增basename 後 

1

2

3

4

#!/bin/bash

# testing the $0 parameter

name=$(basename$0 )

echothe zero parameter issetto:$name

執行指令碼 

bash /root/shell/test5b.sh 

the zero parameter is set to:test5b.sh  ##直接顯示指令碼名稱

簡單例項,根據指令碼的不同名稱執行不同的功能,當指令碼名稱是addem,執行加法、是multem的時候執行乘法

指令碼如下

1

2

3

4

5

6

7

8

9

10

11

12

13

#!/bin/bash

#testing a multi-function script

name=$(basename$0)

#

if[ $name ="addem"]

then

total=$[ $1 + $2 ]

elif[ $name ="multem"]

then

total=$[ $1 * $2 ]

fi

echothe calculated value is $total

cp test6.sh addem 

cp test6.sh multem

執行addem 指令碼

./addem 25 3

the calculated value is 28

執行multem 指令碼

[root@vm_71_179_centos shell]# ./multem 3 5

the calculated value is 15

Linux中的basename命令使用例項

basename是乙個命令列中實用的小工具,可從給定的檔名中刪除目錄和字尾。系統環境 centos7 如何使用basename命令 在centos7系統中,已經預設安裝了basename命令了,該命令包含在coreutils安裝包裡。basename有兩種語法 basename name suffi...

dirname和basename的用法

dirname 取乙個檔案的目錄,example a user guicl shell bash test.sh echo dirname a 結果 user guicl shell bash basename 取乙個檔案的檔案部分,可以是去掉目錄,也可以是去掉字尾 a user guicl she...

shell指令碼中的函式, shell中的陣列

示例1 bin bash 函式的使用 input input 1 a b root second fun.sh 1 a 3 fun.sh 示例2 bin bash 傳遞乙個引數給函式 input read p please input n input root second fun.sh pleas...