• ベストアンサー

シェル変数で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" がうまくセットされないようです ほかによい方法があれば教えてください。 かなり困ってます。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.3

> どうもうまくいかないみたいです。 うまくいくって。 どううまくいかないのかを書かないと、それ以上分からないですね。 どうやって確認しているんですか? スクリプトを -x を指定して実行してみたら、きっと勘違いをしていることに 気がつくんじゃないかなあ。 % csh -x スクリプトファイル名 ちなみに、set x_name のところの b_name&c_name は、質問を書くときの 打ち間違いだと思っていて良いですね?

arowana
質問者

補足

うまくいきました。 SETがいらなかったみたいです。 bashでやってました… ありがとうございました。

その他の回答 (2)

  • natural
  • ベストアンサー率37% (419/1115)
回答No.2

自信なしですが・・・。(^_^; dateコマンドをバッククォート(`)で囲むというのはどうでしょうか。

arowana
質問者

お礼

うまくいきました。 SETがいらなかったみたいです。 ありがとうございました。

arowana
質問者

補足

どうもうまくいかないみたいです。

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

> 「b_name」のところに値がうまく入りません バッククォート "`" で括りましょう。日本語キーボードなら Shift+@ です。 set b_name = `date "+%Y%m%d"`

arowana
質問者

補足

どうもうまくいかないみたいです。

関連するQ&A

専門家に質問してみよう