shell脚本从其路径中查找文件名

时间:2011-01-10 09:53:45

标签: shell

您好我想要一个简单的shell脚本,它从文件的给定路径中查找文件的名称。像

$path = "/var/www/html/test.php";

然后我想在某个变量中获得值“test”。也只有.php文件存在。我正在使用bash shell。 谢谢

4 个答案:

答案 0 :(得分:43)

尝试:

path="/var/www/html/test.php"
name=$(basename "$path" ".php")
echo "$name"

引号仅用于防止$path包含空格时出现问题。

答案 1 :(得分:17)

使用内置的UNIX命令:

basename "/var/www/html/test.php"

答案 2 :(得分:2)

使用basename()函数。它内置于UNIX函数

答案 3 :(得分:1)

string="/var/www/html/test.php"

oIFS="$IFS"; IFS='/' 
set -A str $string
IFS="$oIFS"

echo "strings count = ${#str[@]}"
len=${#str[@]}
pos=`expr $len - 1`
echo "file : ${str[$pos]}";

输出 -

 strings count = 4
 file : test.php