如何将basename放入变量中?

19
#!/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个回答

43

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

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

你也可以使用反引号,但是在现代脚本中不建议这样做(主要是因为它们不能像$(...)符号那样嵌套得好)。

test=`basename "$file" .deb`

为了理解别人的脚本,您需要了解反引号(backquotes)的使用方法;但是在自己的脚本中,不应该使用它们。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接