2012-03-04 88 views
7
#!/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 

所以我想要做的是从变量文件中设置变量测试,并在文件testfile中使用它。如何将basename放入变量?

回答

21

使用命令替换$(...)机制:

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

您还可以使用反引号,但这些都不是在现代脚本建议(主要是因为它们不嵌套还有$(...)符号)。

test=`basename "$file" .deb` 

为了解释其他人的脚本,你需要知道反引号;你不应该自己使用它们。

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

+0

谢谢你工作! – Intecpsp 2012-03-04 17:10:48