FFFTPは転送モードに気をつけよう

「FFFTP」とは、世界的に普及している有名なFTPソフトの一つで、
Windowsでファイルやデータを転送する際によく用いられています。

今回、業務上でFFFTPを用いた作業において、
ちょっとした問題が発生したので、備忘として記事を残しておきます。

1.発生事象

シェルスクリプト改修のため、FFFTP経由でLinuxサーバ上からシェルをローカル(Windows)に転送。
その後、改修後シェルをFFFTP経由でサーバに転送した後、シェルを実行した際にエラーが発生。

syntax error: unexpected end of file(expecting "fi")

2.原因

シェル改修時にファイルを転送する際、FFFTPの転送モードが“自動転送”モードになっていたため、自動的に改行コードが「CRLF」になっていた。
Linux環境は改行コードが「LF」でないと正常に実行できないため、エラーが発生していた。
(上記のエラーだと、改行後の「fi」(if文の最後)が処理できていない)

3.対応・対策

シェルの改行コードを「LF」に修正後、転送モードを“バイナリ”モードに変更後、再転送。
転送後、シェルを実行すると正常実行できた。
<対策>
①FFFTPのオプションからデフォルトの転送モードを設定できるので、転送モードをバイナリモードに設定しておく。
②ファイルの転送前に転送モードの確認をする。
(今回の事象は②の確認が漏れていたため発生した)