iOS X上にファイルをサーバーにアップロードするかどうかを尋ねるBashスクリプトファイルを作成しています。 sftpコマンド(デリミタ付き)はif文の外側でうまく動作しますが、if文の中にsftpコマンド(区切り文字付き)を置くと、次のエラーメッセージが表示されます。 "upload.sh:line nnn:syntax error:unexpected endファイル "heredocが「ファイルの予期しない終了」エラーを表示する
printf "Upload file? [y]es?"
read -r input1
if [ $input1 == "y" ] || [ $input1 == "yes" ]; then
sftp -i key.txt [email protected] << DELIMITER
put local/path/to/file /server/upload/dir
quit
DELIMITER
fi
私はここで何が欠けていますか?
ヘレドックマーカーの末尾をインデントしないでください(「DELIMITER」)。 shellcheck.netでスクリプトをチェックしてください。 – codeforester