12

7月 17

 

lftpで自動的にcdとlcdコマンドを使って環境を合わせる方法

terminal

継続的に開発をするサーバーについては、lftpでsftp接続をしてMirrorコマンドを使ってやる事があります。

毎回 lftpで接続した後に指定のディレクトリに移動して、ローカルディレクトリも合わせて、

$ lftp mirror -R

などをするのがつらくなってきたので自動化の方法を探しました。

まず、lftpで通常どおりサーバーに接続し、そこをbookmarkしてあげます。

$ lftp add bookmark XXX

次に、

$ lftp -e 'connect XXX; cd /target/Dir/; lcd ~/Dropbox/target/Dir/'

と -e オプションを使う事によって、こんな風にリモート、ローカルともにディレクトリ移動を自動化できます。
-eオプションはlftpから抜けないので、そのままlftp内で操作を継続できます。
反対に、-cオプションを使うと、lftpから抜けてしまいます。

mirror -Rをするのだけが目的であれば

$ lftp -c 'connect XXX; cd /target/Dir/; lcd ~/Dropbox/target/Dir/; mirror -R'

としても良いかもしれませんね。