0

Linux ターミナルから次のコマンドを実行します。

 ls application/js/{a*,b*,c*,d*,e.pocket-secure}

a、b、c、d または e.pocket-secure で始まる application/js ディレクトリ内のすべてのファイルを一覧表示します。

そのコマンドを doit.sh に入れて実行すると:

sh doit.sh

私は得る:

ls: cannot access application/js/{a*,b*,c*,d*,e.pocket-secure*}: No such file or directory

{} はシェル インタープリターを混乱させていると思いますが、(single|double) を引用してみました。また、{} をエスケープしようとしても無駄でした。

4

2 に答える 2

2

ターミナルに入力すると、 にいるのではないかと思いますbash。を実行するsh doit.shと、シェルの特性が変更されます。これbashは、 が互換モードであるか、または のようなものを使用しているためですdash。やってみてくださいbash doit.sh

于 2012-12-15T05:13:05.913 に答える
1

この構文はbashインタープリターでのみ機能します。これを試すことができます

#/bin/bash
ls application/js/{a*,b*,c*,d*,e.pocket-secure}

chmod +x doit.sh
./doit.sh

また

シェルでこれを入力するだけです

bash doit.sh
于 2012-12-17T16:44:27.637 に答える