質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

Q&A

解決済

2回答

5789閲覧

シェルスクリプトでzipを実行した場合に最下層のフォルダのみ圧縮対象にしたいです。

red13

総合スコア79

シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

0グッド

0クリップ

投稿2016/08/09 01:09

シェルスクリプト内で以下の内容でzipファイルを作成しています。
zip -r /home/xxx/test.zip /usr/xxx/test_dir
「test_dir」内にはa.log等のファイルが存在します。

「test_dir」のみを圧縮対象にしたいのですが、上記を実行するとzipファイルの中身が
「/usr/xxx/test_dir/a.log」等、不要なディレクトリまで圧縮対象になります。
zipファイルの中身を「/test_dir/a.log」等にすることは可能でしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

手っ取り早い方法は

bash

1opwd=$(pwd) 2cd /usr/xxx/ 3zip ./test_di 4cd $opwd

cd コマンドを発行すること

投稿2016/08/09 01:25

asahina_dev

総合スコア610

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

red13

2016/08/09 01:54

zipコマンドだけでは解決しないのですね。 仕方ありませんね。
guest

0

ベストアンサー

圧縮対象のフォルダの構成がわかっていれば、以下のようにシェル内でcd後にzip発行してみてはどうでしょうか。

cd /usr/xxx
zip -r /home/xxx/test.zip test_dir

投稿2016/08/09 01:24

SSL_beginner01

総合スコア45

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

red13

2016/08/09 01:55

ひとつのコマンドで出来るのかと思いましたが 出来ないのであれば仕方ないですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問