我的終端的字符編碼設置爲UTF-8
。我進入終端程序的配置文件首選項/兼容性,然後單擊Reset Compatibility Options to Defaults
。Bash意外標記附近<<<這裏文檔
我使用這個終端窗口ssh'd到另一臺機器。
我運行了vi
,並在上用手鍵入了以下腳本(以避免意外隱藏的特殊字符)。然後我跑,並得到syntax error near unexpected token <<<
#!/bin/bash
cd "$1"
if [ $? -ne 0 ]; then
printf 'cd fail'
exit 1
fi
while read name
do
printf 'item: [%s]\n' "$name"
done <<< "$(stat -t ./* | awk -F' ' '{print $13 " " $1}' | sort -r | awk -F' ' '{print $2}')"
本試驗機具有/bin/bash
...也/bin/sh
是/bin/bash
的鏈接。 /bin/bash --version
說GNU bash, version 2.05a.0(3)-release (i686-pc-linux-gnu)
我可以從該測試機斷開連接,並在同一個終端窗口在我的機器上手工輸入相同的腳本,它運行良好。在我的機器上,/bin/bash --version
表示GNU bash, version 4.3.42(1)-release (x86_64-redhat-linux-gnu)
什麼原因導致測試機器上的語法錯誤?在早期版本的Bash中不支持<<<
?