![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
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ランキング
-
LinuxMintが突然フリーズする
-
ubuntuのシャットダウンが進ま...
-
ubuntuで デイスク/deb/loopと...
-
Ububtuでファイル共有できない...
-
ubuntu(linux)のシャットダウン...
-
bashでシングルクォート内の変...
-
至急です。kubuntu24.04ltsをUS...
-
Ubuntu on Xorgのログインについて
-
linuxでよく装備されてるParole...
-
新しく買ったWin11のPCでLinux...
-
複数のフォルダを同時に参照し...
-
Linuxのパーティション番号の変...
-
ssl_request_logの必要性について
-
ログにserver reached MaxReque...
-
AWSでSSH接続をしたいのですが...
-
Linux のシェルスクリプトの強...
-
ファイルデータでネットワーク...
-
lubuntuでフォントをインストー...
-
Windowsのローカルディレクトリ...
-
WSL+Dockerでpython実行環境構...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンド終了ステータス
-
FTPコマンドの戻り値について
-
kshでのcase文条件範囲について
-
csh(Cシェル)のevalに関して
-
cronでftp自動転送を行いたい
-
Mac OSXのターミナルでemacsを起動
-
実行中のシェルスクリプト自体...
-
lsコマンドの色設定が反映されない
-
cshで変数名の入れ子ができない
-
cshの標準出力を制御したい
-
シェルスクリプトのYes、Noの入...
-
diskpart でパーティションの一...
-
シェルの -eq の動作について
-
複数の処理を順番にログアウト...
-
bashスクリプト
-
シェルスクリプトからPHP実行
-
telnet へのパイプができないです
-
リモートシェルでファイルをroo...
-
unix上で ./configurの形式のコ...
-
時間を計算する方法
おすすめ情報