端末の文字エンコーディングはUTF-8
に設定されています。私はターミナルプログラムのProfile Preferences/Compatibilityに入り、Reset Compatibility Options to Defaults
をクリックしました。<<<ここの文書の近くのBash予期しないトークン
この端末ウィンドウを使用して別のマシンにsshします。
私はvi
を実行し、に次のスクリプトで入力しました。(予期しない隠された特殊文字を避けるため)。その後、私はそれを実行し、この試験機は/bin/bash
を持って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/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ではサポートされていませんか?