无法连接 2 个变量

无法连接 2 个变量

我需要在 Centos 6 机器上的 bash 中连接 2 个字符串变量

for f in *.tar.gz;
do
basename ${f%.tar.gz}
echo $basename
dbaddress='mysql/*.sql'
path="${basename}${dbaddress}"  
echo $path
tar -zxvf $f $path
done

该脚本应提取 basename/mysql/ 目录中的所有 .sql 文件。但我的代码的输出如下:

basename

mysql/*.sql
tar: mysql/*.sql: Not found in archive
tar: Exiting with failure status due to previous errors

如您所见, $basename 没有添加到 $dbaddress 之前。我错过了什么吗?

答案1

您正在引用该basename变量(使用$basename),但从未将其分配给任何内容,这意味着它读取bash为空字符串。你可能需要尝试一下basename=${f%.tar.gz}

答案2

您可以尝试结合两个变量:

var1="Hello"
var2="$var1 world!"

但在您的代码中,您没有声明basename变量!

相关内容