Bash

Bash:將變數中的文件夾名與文件名合併

  • January 12, 2012

首先,我用我的所有參數編寫一個配置文件,如下所示

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

如何正確編寫此腳本,使其不會在文件路徑後換行?

並且`$()`用於命令執行,而不是用於替換變數內容。所以 bash 嘗試在其中執行可變含義並返回它是一個目錄的錯誤。

只需編寫cat ${path}test它,它就會以您想要的方式工作。

有關更多資訊,請閱讀bash 變數命令替換

引用自:https://unix.stackexchange.com/questions/28924