- ベストアンサー
シェル変数でYYYYMMDDをいれたいのですが…
UNIX系初心です。 シェルススクリプトのなかでFTPであるファイルを取得したいのですが、 ファイル名がabcd.20010101.csvというファイル「日付の所が毎日更新されます」 シェル変数で > set a_name = adcd. set b_name = date "+%Y%m%d" set c_name = .csv set x_name = $a_name$b_name&c_name ftp -i -n 999.999.999.999 << END user ***** ***** get /home/$x_name /root/kensaku.csv bye END > としたところ 「b_name」のところに値がうまく入りません set b_name = date "+%Y%m%d" がうまくセットされないようです ほかによい方法があれば教えてください。 かなり困ってます。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> どうもうまくいかないみたいです。 うまくいくって。 どううまくいかないのかを書かないと、それ以上分からないですね。 どうやって確認しているんですか? スクリプトを -x を指定して実行してみたら、きっと勘違いをしていることに 気がつくんじゃないかなあ。 % csh -x スクリプトファイル名 ちなみに、set x_name のところの b_name&c_name は、質問を書くときの 打ち間違いだと思っていて良いですね?
その他の回答 (2)
- natural
- ベストアンサー率37% (419/1115)
自信なしですが・・・。(^_^; dateコマンドをバッククォート(`)で囲むというのはどうでしょうか。
お礼
うまくいきました。 SETがいらなかったみたいです。 ありがとうございました。
補足
どうもうまくいかないみたいです。
- a-kuma
- ベストアンサー率50% (1122/2211)
> 「b_name」のところに値がうまく入りません バッククォート "`" で括りましょう。日本語キーボードなら Shift+@ です。 set b_name = `date "+%Y%m%d"`
補足
どうもうまくいかないみたいです。
補足
うまくいきました。 SETがいらなかったみたいです。 bashでやってました… ありがとうございました。