Linuxのシェルを作成しており、その中でFTP接続をしてます。
接続先の特定のファイルのファイルサイズをチェックして、それを変数に入れたいのですが、
変数に入れる部分がわかりません。
Linux内の特定のファイルをFTPで転送して、転送後のファイルサイズが一致してるかをチェックするために上記の対応を行ってます。
FTP接続後に以下のコマンドで、ファイルサイズが調べられることは解りました。
quote SIZE ファイル名
この結果を変数に代入するにはどうすればいいでしょうか?
FTP接続中にそのような対応は可能なのでしょうか?
ちなみに、Linux上では既にファイルサイズを取得している(変数に入れてある)ので、
あとは、この変数と、FTP上で取得したファイルサイズの比較をやりたい。といった状況です。
FTP側で取得したファイルサイズを変数に入れられず困っています。
変数代入方法等ありましたらご教授願います。
No.2ベストアンサー
- 回答日時:
理解してもらえなかったみたいなので、サンプルを書きます。
ご提示のサンプルはヒアドキュメント構文が間違っていたり、ログを取る必要性があるみたいなので多少変えました。
コマンドはlftpにしてますが、こっちのほうが使い勝手がいいと思います。
ftpコマンドのVervoseオプションだとサーバーからのレスポンスが全部戻ってきて制御構造をするためには加工をする必要がありますから。
(test1.sh)
---<ここから>---
#!/bin/bash
NASIP=IPアドレス
TARGET=ファイル名
lftp $NASIP <<END | tee Log.txt
user ユーザー パスワード
put /log/$TARGET /log/$TARGET
quote SIZE /log/$TARGET
bye
END
---<終了>---
というシェルスクリプトを作ります。
これでシェルから
% size=`./test1.sh` && echo $size
とすればSIZEコマンドの標準出力が変数に入りませんか?
丁寧な説明ありがとうございました。
また回答が遅れ申し訳ありません。
確かに希望通りの動作を得られました。助かりました。
ありがとうございます。
No.1
- 回答日時:
可能です。
コマンドの標準出力を変数に格納すれば良いのです。ftpサイトに接続するシェルスクリプトを作成し、ここではサブルーチンと見なします。
そのシェルスクリプトを呼び出すシェルスクリプトを作成し、メインルーチンと見なします。
メインルーチンからサブルーチンをバッククォートもしくは$()で呼びだし、サブルーチンの標準出力をメインルーチンの変数に格納すればいいのです。
サンプルはこんな感じ。
(メインルーチン)
size=`./サブルーチンのファイル名`
sizeという変数にサブルーチンの表示結果が入ります。
回答ありがとうございました。
試して見たのですが、 quoteコマンドが実行できないというエラーが出てしまいました。↓
[root@logserv test]# sh test1.sh
test1.sh: line 77: quote: command not found
やり方が違うのでしょうか?
コードを記述しますので、アドバイスいただけますでしょうか?
ftp -i -v -n $NASIP <<END >>Log.txt
user uset1 user1
bin
put /log/$TARGET /log/$TARGET
size=`quote SIZE /log/$TARGET`
bye
ちなみに、size=`` を記述していない状態では、quoteは正常に動いていました。
変数sizeにquoteの結果を代入する方法を教えて下さい。
お手数ですが、宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- プロバイダー・ISP hpb22の接続方法の変更 1 2023/08/06 18:47
- サーバー Googleドライブなどを使わずにテザリングAndroidでWindowsとファイル共有 1 2023/02/19 13:14
- ドメイン・サーバー・クラウドサービス FileZillaを使用してwpXサーバーに接続できない 2 2022/03/29 21:02
- その他(インターネット接続・インフラ) 楽天ひかりでホームページアップロードが出来ない 1 2022/07/30 10:02
- サーバー FTPサーバについて詳しい方(アクセス権のないディレクトリを非表示にする方法) 4 2022/08/22 22:33
- Excel(エクセル) 開くと警告の出るExcelファイルの中身を何とか見たいのですが。。。 4 2023/05/24 17:20
- PDF PDFファイルの圧縮 1 2022/10/04 13:48
- その他(OS) Windowsで大量の画像サイズを半自動で変更する方法 6 2023/02/17 08:45
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- PHP ファイルアップロードの上限を増やす 7 2023/06/23 12:50
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
シェルスクリプトでFTPの実行結果を取得するには
その他(プログラミング・Web制作)
-
ftpコマンド出力結果の取得
その他(プログラミング・Web制作)
-
コマンドプロンプトのFTPコマンド内での「変数」
その他(プログラミング・Web制作)
-
-
4
FTPコマンドの戻り値について
その他(OS)
-
5
FTPの送信結果を検知したい
その他(プログラミング・Web制作)
-
6
ftpコマンドの戻り値をチェックしたい
その他(プログラミング・Web制作)
-
7
シェルでftp接続によるファイル取得について
UNIX・Linux
-
8
バッチファイルで変数の中身をファイル出力したい
UNIX・Linux
-
9
FTPでリモートのファイル一覧取得
その他(プログラミング・Web制作)
-
10
FTPコマンドでディレクトリごとファイル移動できるコマンドはありますか?
その他(プログラミング・Web制作)
-
11
なぜ sftp には ASCIIとBINARYといったモードがないのでしょうか?
その他(コンピューター・テクノロジー)
-
12
ftp処理でmove(移動)を行いたい
その他(プログラミング・Web制作)
-
13
renameコマンドについて
その他(プログラミング・Web制作)
-
14
FTPのバッチファイルで日付を引数で与えたい
UNIX・Linux
-
15
ftpでファイルを転送時、タイムスタンプを維持したい
UNIX・Linux
-
16
パスワード設定していないユーザーのログイン
UNIX・Linux
-
17
FTPに接続し、 あるフォルダ内の一覧を取得する、、、という操作を Windows10のコマンドプロ
Windows 10
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
scpコマンドでリモートサーバの...
-
GNOME端末の起動 及び コマンド...
-
Illustratorのデータをまとめて...
-
cactiでグラフが表示されない
-
netshでipv6がインストールでき...
-
コマンドでのコンピュータ名変...
-
cron登録不可(´・ω・`)
-
Linux shell ftp 転送 エラー制御
-
動画から写真を取り出す方法
-
コマンドプロンプトでバッチフ...
-
rcpコマンドについて、教えて!
-
macでできる大容量ファイルの分...
-
コマンドの結果を変数へ代入@...
-
Viで書き込もうとすると、保...
-
/ が何時の間にか「Read-only f...
-
書き込み権限が無いためコピー...
-
FTPコマンドの戻り値について
-
OS がインストールされているデ...
-
UNIX Cシェルで実数の比較
-
e2fsckの実行について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
scpコマンドでリモートサーバの...
-
DOSコマンドでのワイルドカ...
-
rcpコマンドについて、教えて!
-
Illustratorのデータをまとめて...
-
IBM漢字コードのSJIS変...
-
FTP接続中のコマンド実行結果を...
-
Windows10のRegSys32に登録され...
-
属性変更できないです。
-
別名でリンク先を保存。
-
AIX ksh利用 grep 検索で マ...
-
telnet,rlogin,rshの違いってな...
-
Linux shell ftp 転送 エラー制御
-
lsコマンドで表示するファイル...
-
cron登録不可(´・ω・`)
-
【ターミナル】MacBookにディー...
-
linuxのreadコマンドについて
-
CPUのbit数を調べるコマンド
-
kshのファイルが存在しない時
-
WindowsでPATHにあるコマンドを...
-
コマンド プロンプトで作成し...
おすすめ情報