私はftpを行っています。ステータスを確認したいと思います。私は '$?'を使いたくない内部的にftpが通過しなくても、ほとんどの場合、ftpに対して0(成功)を返します。変数を使用したFTPステータスチェック - Linux
私はログファイルを確認し、そこから "転送完了"(221ステータス)のgrepを実行できます。それはうまく動作しますが、私はftpをやっている多くの異なったレポートがあるので、私はそれをしたくありません。だから、すべてのログファイルを複数作成することは、私が避けたいものです。
ローカルのスクリプト変数にログされた情報を取得し、それをスクリプト自体の中で処理できますか?これらに類似 何かが(私は両方のを試していないどちらも働いてきた):
ftp -inv ${HOST} > log_file.log <<!
user ${USER} ${PASS}
bin
cd "${TARGET}"
put ${FEEDFILE}
bye
!
:以下
- Grab FTP output in BASH SCRIPT
- FTP status check whether successful or notは私がやろうとしていたものと似たものです
スクリプト変数内でftp出力全体を取得してスクリプト内で確認するにはどうすればよいですか?
あなたは「動作しませんでした」と言います。彼らはどのように働かなかったのか説明しません。出力はログファイルに書き込まれませんでしたか?出力はまったく書き込まれていませんでしたか?標準出力の代わりに標準エラーに書き込まれましたか? –
変数を作成し、それをftpコマンドと同じにするとします。何も返されていません。変数はまだ空です。このようなものは 'STATUS =' ftp -n $ HOST> log_file.log <<!ユーザー$ USER パス$パス cd/user/sba-appl/test bye ここでEOFは空です。STATUSは空です。変数にログファイルに記録されているものを取得させたい。不適切なコード構造をごめんね。 –