如何将basename放入变量?

时间:2012-03-04 17:04:57

标签: file bash variables debian

#!/bin/bash
file=debian.deb
test=basename $file .deb
DP="blah/blah/$test/$test.php"
read -p "[$DP]: " DPREPLY
DPREPLY=${DPREPLY:-$DP}
echo "Blah is set to $DPREPLY"
echo $DPREPLY>>testfile

所以我要做的是从变量文件中设置变量test并在文件testfile中使用它。

1 个答案:

答案 0 :(得分:27)

使用命令substitute $(...)机制:

test=$(basename "$file" .deb)

您也可以使用反引号,但不建议在现代脚本中使用反引号(主要是因为它们不像$(...)表示法那样嵌套。)

test=`basename "$file" .deb`

你需要知道反引号才能解释别人的剧本;你不应该自己使用它们。

请注意"$file"周围引号的使用;这可确保正确处理文件名中的空格。