Bash:将变量中的文件夹名与文件名合并

Bash:将变量中的文件夹名与文件名合并

首先,我编写一个包含所有参数的配置文件,如下所示

path="/home/test/"

我命名它test.conf

然后我用这个内容编写一个 shell 脚本,将其命名为test,并使其可执行chmod +x

#!/bin/bash
#read the config file
. /home/test/test.conf

#cat the file /home/test/test
cat `$path`test #This line is the problem

我得到这个输出

./test/test: line 3: /home/test/: Is a directory
cat: test: No such file or directory

我想要的是它向我显示文件的内容/home/test/test

如何正确编写此脚本,以便它不会在文件路径后创建新行?

答案1

``$()用于命令执行,而不是代替变量内容。因此 bash 尝试执行变量含义``并返回它是目录的错误。

只需编写cat ${path}test,它就会按照您想要的方式工作。

欲了解更多信息,请阅读bash 变量命令替换

相关内容