
我創建 test.sh 來讀取包含內容的文件
item1:return1
item2:return2
...
item10:return10
測試.sh內容
VAR1=$1
VAR2= `grep "^${VAR1}:" /home/path/file | awk '{print $2;}'`
echo "${VAR2}";
運行測試
sh test.sh item1
返回
: not found test.sh:
: not found test.sh:
當我在 Centos 上運行相同的內容時。返回
return1
awk 命令有什麼問題?
答案1
awk 命令沒有任何問題。test.sh
如訊息所示,無法找到您的問題。 CentOS 可能會將您的路徑設定為 PATH 變數。
運行它sh ./test.sh item1
(我假設 test.sh 在您當前的目錄中)
編輯:我應該更好地關注腳本,:
在 grep 中是問題這有效
VAR1=$1
VAR2=`grep "${VAR1}\:" file | awk '{print $2}'`
echo "${VAR2}";
但是,awk 預設不識別:
為分隔符,我必須使用
item1: return1
item2: return2
我不知道如果沒有這個改變它如何在伺服器或 centos 上工作