Ubuntuの端末で次のコードを使用すると正常に動作します。
rm !(*.sh) -rf
ただし、同じコード行をシェルスクリプト(clean.sh
)に入れて端末でシェルスクリプトを実行すると、次のようにエラーが発生します。
clean.shスクリプト:
#!/bin/bash
rm !(*.sh) -rf
私が得るエラー:
./clean.sh: line 2: syntax error near unexpected token `('
./clean.sh: line 2: `rm !(*.sh) -rf'
助けてください?
ベストアンサー1
以下を有効にする必要がありますextglob
。
shopt -s extglob