• ベストアンサー

シェルでdate +"%Y%m%d_%H%M%S"の値を変数に代入する方法

シェルは全く分かりません。 date +"%Y%m%d_%H%M%S"の値を変数に代入する方法を教えてください。 やりたいことは、 日時を一旦変数に退避し、それを頭につけた名前で2つのファイルをコピーする事です。 以下のファイルを /home/user1/file1 /home/user1/file2  ↓このように複写↓ /home/user1/file1 /home/user1/file2 /home/user1/bkup_20051215_113301_file1 /home/user1/bkup_20051215_113301_file2 以下を試しましたが、代入の時点で失敗します。 set aaa=date +"%Y%m%d_%H%M%S" cp /home/user1/file1 /home/user1/bkup_${aaa}_file1 cp /home/user1/file2 /home/user1/bkup_${aaa}_file2 date +"%Y%m%d_%H%M%S"と同等の値がシステム変数等で取得できるならそれでもOKです。

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

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

``を使いましょう。 シェルが何か分からんのだが、setを使っているところを見るとcshだろうか。 cshの場合 set aaa=`date +"%Y%m&d_%H%M%S"` bashの場合 aaa=`date +"%Y%m&d_%H%M%S"`

webuser
質問者

補足

ありがとう御座います。 >シェルが何か分からんのだが、setを使っているところを見るとcshだろうか。 シェルは一応tcshを想定してましたが、特に何でも良かったです。 いずれにせよ「`」が必要なようですね。 「`」の呼び名と入力方法を教えて頂けませんか

その他の回答 (1)

  • php504
  • ベストアンサー率42% (926/2160)
回答No.2

>「`」の呼び名と入力方法を教えて頂けませんか backtickとかbackquoteと呼んでいます。 日本語キーボードなら「Shift」+「@」で入力できます。

webuser
質問者

お礼

ありがとうございます

関連するQ&A

  • 値を変数に代入してprintfで表示しようとしてもうまくいきません

    値を変数に代入して、printfで表示しようとしてもうまくいきません。 ソースのどこが悪いか教えていただけないでしょうか? 変数の値を1個ずつ表示する場合は、正常になります。 問題は、1行で表示する場合に1個目の値は出るのですが正常な表示にはなりません。 //ソース開始 #include <stdio.h> #include <windows.h> int main() { LARGE_INTEGER i64,h64; LONGLONG work,h,m,s; QueryPerformanceCounter(&i64); QueryPerformanceFrequency(&h64); //起動時間をミリ秒取得 work = i64.QuadPart*1000 / h64.QuadPart; //時間をhに入れる h = work / 1000 / 3600; //分をmに入れる m = (work / 1000 - h * 3600) / 60; //秒をsに入れる s = work / 1000 - h * 3600 - m * 60; //表示 printf("%d時間%02d分%02d秒\n",h,m,s); printf("%d時間\n",h); printf("%d分\n",m); printf("%d秒\n",s); printf("%d秒\n",work); return 0; } //ソースここまで //実行結果 289時間00分55秒 289時間 55分 54秒 1043754590秒 続行するには何かキーを押してください . . . //理想の表示結果 1行目が以下のようになってほしい 289時間55分54秒

  • [Excel VBA] 行の値を1つの変数に代入したい

    たとえばA1:A10に値があったら、3個ずつ値を1つの変数に代入したいのですがそのようなことは可能でしょうか?(改行は"%0D%0A"に置換します) たとえば、A1:A10に A B C D E F G H I J K とあったら、 1ループ目: strString = "A%0D%0AB%0D%0AC" のように代入したいのですが。 1つ1つのセルの値を追加代入していくしかないのでしょうか?

  • セルのアドレスのy座標を変数yに代入したいのですが

    ある一つのアクティブなセルがあり、そのセルのy座標の値を変数yに代入したいのですが、方法を教えてください。(Adressプロパティを使うのでしょうか?) Excel2000を使用しています。 よろしくお願いします。

  • CWndのメンバ変数m_hWndへの値の代入はいつ行われる?

    CWndにはメンバ変数m_hWndが有りますが、このm_hWndに値が代入されるのは、いつ、どのコードで実施されるのでしょうか? お分かりの方よろしくお願いいたします。

  • 複素変数に値が正しく代入されない

    複素変数を使ったプログラムを作るために、 まず複素変数を作成して値を表示するだけのプログラムを作ったのですが、 虚数部分に代入されるはずの値が実数部分に表示され、 虚数部分には0が表示されてしまいます。 書いたプログラムは #include<stdio.h> #include<complex.h> int main(void){ complex<double> a=(1.2,2.3); printf("%g %gi\n",real(a),imag(a)); } 結果は 2.3 0i でした。 どこで書き方を間違えているのでしょうか。 cファイルだとcomplex.hをインクルードしようとすると stdcomp.hでエラーが出るのでcppファイルにしています。 コンパイラはBorland C++ Compiler 5.5を使っています。

  • C言語のfloat型変数の値代入と表示について

    float型変数の値代入と表示について質問があります。 #include <stdio.h> int main(void) {  float flVal = 50.456;  printf("float型変数:%f", flVal);  return 0; } 上記を実行すると、「float型変数:50.456001」と表示されました。 また、float flVal = 50.1; と変えて実行すると、「float型変数:50.099998」と表示されました。 それぞれ期待していた結果は、 「float型変数:50.456000」、「float型変数:50.100000」だったのですが 代入した値と結果が微妙に異なる理由は何でしょうか。よろしくお願いします。

  • PHP  date関数を変数に代入

    下記のようにerror_log関数に、日付やホスト名を出力させようようとしています。 $log_messageに、date関数や_SERVER変数を入れたいのですが、構文エラーとなります。 Parse error: syntax error, unexpected '(', expecting ',' or ';' … -------------------- private static $log_message = date("Y/m/d l H:i:s")."\n".$_SERVER["REMOTE_ADDR"]; (中略) error_log(("【info】".self::$log_message.$log), 3, $log_file_path); -------------------- 「"」の前を全て\でエスケープしたり、$log_message = date('YmdHis')を試したのですが、 同様でした。 記述方法で誤りがあれば、どなたかご指摘頂きたいです。

    • ベストアンサー
    • PHP
  • 置換した文字列を変数に代入する方法

    お世話になります。 たとえば、 #!C:\Perl\bin\perl print $form->header("text/html");  : open(IN,"<file.txt"); while(<IN>){ : : s/あい(.*?)うえお/$1/; (????)←「$1」の内容を変数に代入したい : : } close(IN); というように、テキストファイルの文章中の 「あい(.*?)うえお」から(.*?)を取り出して、 その取り出した(.*?)を変数に代入したいのですが、 いろいろ試してやっているのですが、難儀して おります。どのように書いたらいいか教えてください。よろしくお願いします。 最終的にclose(IN);のあとで、print 変数;として(.*?)の文字列を表示させたいです。

    • ベストアンサー
    • Perl
  • テキストファイルの値をバッチファイルの中の関数に代入する方法をご指導して頂けないでしょうか?

     初めまして、最近バッチファイルの勉強をしているのですが、テキストファイルの値をバッチファイルの中の変数に代入する事は可能なのでしょうか?  私が今考えているのはテキストファイルの中の値をバッチファイルの中の変数に代入するというものです。 例 --test.txt-- 2009 11 27 ---------- --test.bat-- FOR /L %%i IN (1,1,10) DO CALL SUB.BAT year month day ---------- 上の例のテキストファイルの値、2009をバッチファイルのyearに代入という事は出来るのでしょうか? もし可能であればtest.batにどのような事を書けばいいのでしょうか? ご指導のほどをよろしくお願い致します。

  • スーパーユーザーの環境変数

    スーパーユーザーの環境変数を作成したいのですが、 スーパーユーザーログイン時には必ず環境変数aaaがセットされるようにするためのコマンドを教えてください。 環境変数:aaa 値:/home/

専門家に質問してみよう