ftp コマンドの操作を一個のシェルスクリプトにまとめておくと便利。
僕の場合は、あるディレクトリ内のファイルを定期的にダウンロードして解析しなくちゃいけないジョブがあるので、こんな感じのシェルスクリプトを作って自動化してる。
※ ftp のパスワードは .netrc から読み込んでる前提。
#! /bin/sh
ftp foo@bar.org <<END
cd www/some/dir
lcd /user/local/some/dir
prompt
mget *
bye
END
つまり、ftp コマンドにヒアドキュメントをそのまま実行させるというテクニック。
参考:
ftp転送をシェルスクリプトで - IT 東京 楽しいと思うこと
http://d.hatena.ne.jp/mikeda/20081027/1225121364
#ftp #ShellScript #bash
SN 2013/06/28 23:22:39
Archives > FTP_Shell_Script_Job_Automatically.html
gosh の REPL で矢印での履歴表示を有効にするために、~/.bash_profile には下記のように alias を設定してる。
alias gosh="rlwrap gosh"
もちろん、事前に rlwrap をインストールしておく必要がある。
gosh が起動時に読み込むディレクトリとして、カレントディレクトリと直下の lib/ ディレクトリを読み込みたいとすると、
alias gosh="rlwrap gosh -I . -I ./lib"
などとしておけば、(load "my-module") のような形で指定したフォルダの *.scm ファイルを load することができる。
ちなみに REPL は '(Read Eval Print Loop) の略。
#Gauche #Shell #rlwrap
SN 2013/06/26 23:21:40
Archives > Gauche_gosh_alias.html
Gauche のスクリプトファイルでエンコードを指定するときは、シェバン行の下に
#! /usr/bin/env gosh
;; -*- coding: utf-8 -*-
#Gauche
SN 2013/06/26 23:21:10
Archives > Gauche_encoding.html
$ ftp user_name@host_name
PASSWORD:
- ftp> lcd でローカル環境を移動
- ftp> !pwd でローカルのカレントディレクトリ
- ftp> put local_file server_file
で、UPできる
- 削除は rm じゃなくて ftp> del
- ダウンロードは ftp> get
- 複数のファイルを纏めて操作できるコマンドは頭に m が付く(mput, mget など)
- ftp> help で使える全コマンド表示
- ftp> bye でログアウト
#ftp
SN 2013/06/26 23:19:08
Archives > 20130619082530_ftp_memo.html