0
我想設置變量,因此我可以在Bash中的while循環中使用它們進行評估。在Bash中的while循環中設置變量
while read l; do
echo $l
HASH=echo $l | awk '{print$1}'
FILE_NAME=echo $l | awk '{print$2}'
echo $HASH
echo $FILE_NAME
done <$OLD_LOG_FILE
當我雖然運行它,我得到以下錯誤:
./hash.sh: line 38: e5491a14c7374e7f2ee18e3095f8ac65: command not found
./hash.sh: line 39: e5491a14c7374e7f2ee18e3095f8ac65: command not found
線38和39,其中HASH和FILE_NAME設置線。
我使用單引號,而不是做引號。
應該使用不同的方法設置HASH和FILE_NAME變量嗎?
如果你只對第一和第二個字段感興趣,那麼爲什麼不用''read'命令也是這樣,並溝'awk'? 'while read read -r hash file_name _;做echo「hash = $ hash和file_name = $ file_name」;完成<「$ old_log_file」'。順便說一句,如果文件名中有空格或有趣的字符會發生什麼? –