
テキストファイルの1行の文字列を読込んで
ftpで、文字列と同名のファイルを別サーバに転送する
shスクリプトを作成したいと思っています。
テキストファイルから読込んだ文字列を変数に格納して
ftp接続後、putで変数を指定すると
『変数名のファイルがありません』
というエラーがでます。
エラーメッセージから、変数が変数として扱われていない。
ファイル名そのものとして扱われていると思います。
テキストファイルから読込んだ文字列をftpで使用するには
どうしたらよいでしょうか?
また、何か代替案はあるのでしょうか?
簡略化したshスクリプトの内容は以下の通りです。
------------------------------------
#!/bin/sh
read filename <./test.txt
ftp -n host_name <<"EOD"
user user_name password
passive
binary
cd /export/test
put filename
bye
EOD
-----------------------------------
No.3ベストアンサー
- 回答日時:
どもです。
え~っと、このような時にはexpectという言語を
使うのが便利が宜しいです。まぁ、perlとかでも
同じような事が出来ますが、、、
で、expectを使用する場合、実環境でコードを
書かないとつらいものがあります。
一応、サンプルを以下に乗せますが、多分動作
しないでしょう。
expect "XX"
となっているところは、FTPで接続しているときに
表示される文字列が来るまで待つって意味なので、
XX
が来るまで待つって感じです。
#!/usr/local/bin/expect
if { $argc < 1} {
puts "Error"
exit 1
}
set fname [lindex $argv 0]
# 要修正
spawn ftp 192.168.100.135
# 要修正 ユーザー名
expect "Name"
expect ":"
send "hogeuser\r"
# 要修正 パスワード
expect "Password:"
send "hogepwd\r"
expect "ftp>"
send "passive\r"
expect "ftp>"
send "binary\r"
expect "ftp>"
send "cd /export/test\r"
expect "ftp>"
send "put $fname\r"
expect "ftp>"
send "bye\r"
expect eof
No.2
- 回答日時:
shell変数の値を参照する場合は、変数名の前に$をつける必要があります。
put $filename
――のように記述してみては。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- UNIX・Linux テキストファイルをページ番号付きでコマンドラインから印刷したい 1 2023/02/22 12:47
- C言語・C++・C# C言語で 英文字のみからなる文字列、”Radar”、”WasItACatISaw”、”a”、””(空 5 2022/12/20 15:17
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【VBA】テキストファイルを指定...
-
VBでのテキストファイルへ参照...
-
shスクリプトでftp接続してファ...
-
Excelにて、フォルダ内のTextフ...
-
アスキー、バイナリーの違い、...
-
同一フォルダにある複数のテキ...
-
テキストファイルの最終行を消...
-
エクセルのプロパティーでセキ...
-
エクセルvbaでdocuworksprinter...
-
ExcelブックをGoogleスプレッド...
-
エクセルで複数のコメントのサ...
-
エクセルVBAで一つ上の階層...
-
frxファイルの役目
-
Excel csv保存 列数が異なる場...
-
バッチファイル XCOPYで上書き...
-
Windows10でコマンドプロンプト...
-
ホームページビルダーでのHP作...
-
会社のネットワーク上のファイ...
-
カンマ区切りのCSVファイルから...
-
同じファイル名 上書きしないフ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【VBA】テキストファイルを指定...
-
EXCELのVBAでEOFを誤認識
-
同一フォルダにある複数のテキ...
-
アスキー、バイナリーの違い、...
-
テキストファイルの最終行を消...
-
複数のテキストファイル内の複...
-
Excelにて、フォルダ内のTextフ...
-
UNIXの<ファイル名>\\rの意味
-
テキストファイル内容の取得。
-
VBSを使用し、指定フォルダ内の...
-
テキストファイルから漢字や数...
-
ファイル操作
-
VBScript(vbs)での行の取得につ...
-
vbaでテキストファイル(*.txt...
-
VBscript
-
VBAでテキストファイルを最後ま...
-
uwscでExcelに自動記入
-
VBで複数のテキストを結合する...
-
エクセル VBA テキストファイル...
-
VBAでテキストファイルの件...
おすすめ情報