予期しないトークン `( 'の近くの構文エラー

タル

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'

手伝ってくれますか?

ヘマイル

rm !(*.sh)extglob.sh拡張子が付いているファイルを除くすべてのファイルを削除することを意味する構文です。

インタラクティブbashインスタンスでは、シェルオプションextglobがオンになっています:

$ shopt extglob 
extglob         on

スクリプトがサブシェルで実行されているのでextglob、スクリプトの開始時にこれを追加して有効にする必要があります。

shopt -s extglob

したがって、スクリプトは次のようになります。

#!/bin/bash
shopt -s extglob
rm -rf -- !(*.sh)

編集:

.sh拡張機能以外のすべてのファイルを削除するには、GLOBIGNORE(有効にしたくないためextglob)を使用します

#!/bin/bash
GLOBIGNORE='*.sh'
rm -rf *

例:

$ ls -1
barbar
bar.sh
egg
foo.sh
spam

$ GLOBIGNORE='*.sh'

$ rm *

$ ls -1
bar.sh
foo.sh

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

bashの予期しないトークン `( 'の近くの構文エラー

分類Dev

cPanelの予期しないトークン `newline 'の近くの構文エラー

分類Dev

bashの予期しないトークン値の近くの構文エラー

分類Dev

予期しないトークンの近くのcron構文エラー

分類Dev

予期しないトークンの近くの構文エラー `} '`

分類Dev

予期しないトークン `<'の近くの構文エラー

分類Dev

Bash、予期しないトークン「done」の近くの構文エラー

分類Dev

予期しないトークン `$ 'in \ r'の近くの構文エラー

分類Dev

予期しないトークンの近くの構文エラー

分類Dev

makefile:予期しないトークン `、 'の近くの構文エラー

分類Dev

予期しないトークン「改行」の近くの構文エラー?

分類Dev

予期しないトークン `( 'の近くの構文エラー

分類Dev

bash:予期しないトークン `} 'の近くの構文エラー

分類Dev

-bash:予期しないトークン `; 'の近くの構文エラー

分類Dev

bash:予期しないトークン `( 'の近くの構文エラー

分類Dev

awk:予期しないトークン `( 'の近くの構文エラー

分類Dev

予期しないトークン `<'の近くの構文エラー

分類Dev

Bash:予期しないトークンの近くの構文エラー '完了'

分類Dev

予期しないトークン `done 'の近くの構文エラー

分類Dev

grep:予期しないトークン `( 'の近くの構文エラー

分類Dev

bash:予期しないトークンの近くの構文エラー

分類Dev

予期しないトークンの近くの構文エラー `do

分類Dev

grep:予期しないトークン `( 'の近くの構文エラー

分類Dev

予期しないトークン `( 'の近くの構文エラー

分類Dev

予期しないトークン `} 'の近くの構文エラー

分類Dev

bash:予期しないトークン `-o 'の近くの構文エラー

分類Dev

bash:予期しないトークン `do 'の近くの構文エラー

分類Dev

予期しないトークン '{'の近くの構文エラー

分類Dev

bash:予期しないトークン '<'の近くの構文エラー

Related 関連記事

  1. 1

    bashの予期しないトークン `( 'の近くの構文エラー

  2. 2

    cPanelの予期しないトークン `newline 'の近くの構文エラー

  3. 3

    bashの予期しないトークン値の近くの構文エラー

  4. 4

    予期しないトークンの近くのcron構文エラー

  5. 5

    予期しないトークンの近くの構文エラー `} '`

  6. 6

    予期しないトークン `<'の近くの構文エラー

  7. 7

    Bash、予期しないトークン「done」の近くの構文エラー

  8. 8

    予期しないトークン `$ 'in \ r'の近くの構文エラー

  9. 9

    予期しないトークンの近くの構文エラー

  10. 10

    makefile:予期しないトークン `、 'の近くの構文エラー

  11. 11

    予期しないトークン「改行」の近くの構文エラー?

  12. 12

    予期しないトークン `( 'の近くの構文エラー

  13. 13

    bash:予期しないトークン `} 'の近くの構文エラー

  14. 14

    -bash:予期しないトークン `; 'の近くの構文エラー

  15. 15

    bash:予期しないトークン `( 'の近くの構文エラー

  16. 16

    awk:予期しないトークン `( 'の近くの構文エラー

  17. 17

    予期しないトークン `<'の近くの構文エラー

  18. 18

    Bash:予期しないトークンの近くの構文エラー '完了'

  19. 19

    予期しないトークン `done 'の近くの構文エラー

  20. 20

    grep:予期しないトークン `( 'の近くの構文エラー

  21. 21

    bash:予期しないトークンの近くの構文エラー

  22. 22

    予期しないトークンの近くの構文エラー `do

  23. 23

    grep:予期しないトークン `( 'の近くの構文エラー

  24. 24

    予期しないトークン `( 'の近くの構文エラー

  25. 25

    予期しないトークン `} 'の近くの構文エラー

  26. 26

    bash:予期しないトークン `-o 'の近くの構文エラー

  27. 27

    bash:予期しないトークン `do 'の近くの構文エラー

  28. 28

    予期しないトークン '{'の近くの構文エラー

  29. 29

    bash:予期しないトークン '<'の近くの構文エラー

ホットタグ

アーカイブ