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のオプションからデフォルトの転送モードを設定できるので、転送モードをバイナリモードに設定しておく。
②ファイルの転送前に転送モードの確認をする。
(今回の事象は②の確認が漏れていたため発生した)

Laravelについて

Laravelとは、2011年後頃に開発されたPHPフレームワークです。

LaravelはMVC規約(Model(モデル)/View(ビュー)/Controller(コントローラー))に基づいたソフトウェア設計です。
MVCとはUI(ユーザーインタフェース)をと内部データを分けるデザインパターンの一つで、
自分以外のソフトウェア設計者が使いやすいようにパターン化してカタログのようにわかりやすくまとめたものになります。

コントローラーソースにメソッドを定義し、URLに紐づけを行い(ルーティング)、
そのURLにアクセスされた際に紐づいたコントローラーを実行することが可能になります。
定義の仕方として、Routeクラスを使用します。 例:Route::get(URL,実行したいメソッド())

以上のように、コントローラーファイルにURLを紐づけ、メソッドでhtmlなどで画面を呼び出し、出力することも可能です。