bashスクリプト
#!/bin/bash
if [ -f *.log ]; then
echo `tar czf $(date +"%Y_%m_%d").tar.gz *.log`
fi
このようなスクリプトでecho ``(バックオート)でコマンドを実行できると思うんですが,
tar czf $(date +"%Y_%m_%d").tar.gz *.log←これ自体を表示できないでしょうか?
いまは,以下のようにしてコマンドを実行させ,さらに表示させています.
これだとあまり賢くないというか,1行でスマートに表示させたいのですが,
可能でしょうか?
if [ -f *.log ]; then
echo "tar czf $(date +"%Y_%m_%d").tar.gz *.log"
echo `tar czf $(date +"%Y_%m_%d").tar.gz *.log`
fi
No.2ベストアンサー
- 回答日時:
その前に
ここでバッククオート使う意味、ありますか?
tarを実行するだけなら ``の中だけ書けばいいです。
また、このコマンドでは何も出力しないので``は空文字列になり、echoも何も出力しません(正確には改行だけ表示する)。
さて、御所望の方法ですが、次のようなものがあります。
1)
# 変数に入れる
com="tar czf $(date +"%Y_%m_%d").tar.gz *.log"
# 表示
echo $com
# 実行
$com
2) set -xでトレースを有効にしたサブシェルで実行
(set -x ; tar czf $(date +"%Y_%m_%d").tar.gz *.log)
あと
> if [ -f *.log ]; then
*.logに該当するファイルが複数あるとエラーになります。
なんらかの対策が必要です
例)
#!/bin/bash
#該当ファイル名をグロービングしてを配列に入れる
declare -a f=(*.log)
#該当ファイルのチェック
#存在してなければ、*.log のままか空文字列になる(オプションによる)
if [ "$f" \!= '*.log' -a "$f" \!= '' ]
then
( set -x ; ls "${f[@]}")
fi
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux Linuxのtarコマンドで同一ディレクトリに解凍するコマンドは何でしょうか? 1 2022/04/25 12:59
- Android tar.ファイルのインストールについて知りたいです 2 2022/07/23 15:34
- UNIX・Linux 次の要件を満たすにはどのように修正したらよろしいでしょうか 1 2022/11/24 20:57
- その他(プログラミング・Web制作) zshの例外処理 1 2022/06/02 16:36
- UNIX・Linux cpio使ってた人はtarが流行りだしてから焦ったり驚いたりしたか 1 2023/05/07 10:10
- PHP 共通の処理をまとめる方法がわからないのでアドバイスお願いします。 1 2022/12/19 20:20
- UNIX・Linux デフォルト値のパラメータ展開 1 2022/08/12 17:34
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- Perl RSSにdiv,ul classを付けたいのですがどのようにつけるのかわからないです 2 2022/03/28 01:53
- その他(プログラミング・Web制作) awkのtoupper() 1 2022/10/21 20:39
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
cshが詳しい方は教えてください
-
kshでのcase文条件範囲について
-
ログアウト後のコマンド処理継...
-
シェルの -eq の動作について
-
コマンド終了ステータス
-
bashスクリプト
-
Viで書き込もうとすると、保...
-
OS がインストールされているデ...
-
Ubuntu10.04で自動でシャットダ...
-
属性変更できないです。
-
scpコマンドでリモートサーバの...
-
アクセスでファイル名の獲得
-
Illustratorのデータをまとめて...
-
eclipseでC言語がコンパイルで...
-
ログイン、ログアウト時にコマ...
-
Windows10のRegSys32に登録され...
-
DOSのAUTOEXEC.BATの書き方、等
-
ホスト名を変更したい。。
-
FTP接続中のコマンド実行結果を...
-
e2fsckの実行について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンド終了ステータス
-
FTPコマンドの戻り値について
-
複数の処理を順番にログアウト...
-
diskpart でパーティションの一...
-
lsコマンドの色設定が反映されない
-
telnet へのパイプができないです
-
実行中のシェルスクリプト自体...
-
cshで変数名の入れ子ができない
-
空白を含んだシェル変数の代入
-
cronでftp自動転送を行いたい
-
UNIX Cシェルで実数の比較
-
cronでaws_s3にデータを格納す...
-
csh(Cシェル)のevalに関して
-
kshでのcase文条件範囲について
-
cygwinシェルスクリプト内での...
-
vagrant upでエラーが表示され...
-
メニュー画面よりコマンド実行...
-
リモートシェルでファイルをroo...
-
vi利用時でのbeep音の消し方
-
シェルの -eq の動作について
おすすめ情報