
答え1
以下を使用するとエラーが発生します$()
。
$(zip "$1.zip" $1)
これはコマンドの置き換え、コマンドを対応する出力に置き換えます。したがって、シェルはzip
出力を取得し、それをシェルスクリプトの一部として解釈しようとします。
adding: ...
adding:
システムで有効なコマンドではなく、シェルがそれについて不平を言うでしょう。
次のコマンドを直接実行する必要があります。
zip "$1.zip" "$1"
出力を削除するには、方向を変更するか、オプション(「quiet」)を使用zip
します-q
。
zip "$1.zip" "$1" > /dev/null
zip -q "$1.zip" "$1"
発生したエラーは引き続き表示されます。
答え2
zipコマンドがインストールされていることを確認してください。 Debian Linuxを使用していますが、unzipはインストールされていますが、デフォルトではzipはインストールされません。
また、zipを呼び出すコマンドの構文は、gzipとbzip2を呼び出すコマンドとは異なります。
"$1.zip" versus "${1}.bz2" and "${1}.gz"