CentOS7とRHEL7で発生する可能性のある論理的または意味的なエラー

CentOS7とRHEL7で発生する可能性のある論理的または意味的なエラー

数週間前にこの問題が発生しましたが、システムの問題であると思いました。しかし、いくつかの調査を行った後、これはバグかもしれないと思います。それとも私が間違っている可能性があります。たとえば、CentOS7で複数のファイルを実行またはecho操作しようとすると、CentOS7でこれを実行すると返されますが、RHEL7で同じコマンドを実行すると次のものが返されます。touchecho file{a..c}.txtfile{a..c}.txtfilea.txt fileb.txt filec.txt

他の人も同じ問題がありますか?

ベストアンサー1

CentOSシステムのシェルが次のように中括弧の範囲を拡張しない場合は、dashこの動作を確認できます。

$ for shell in bash dash ksh
> do
> echo in $shell:
> $shell -c 'echo file{a..c}.txt'
> done
in bash:
filea.txt fileb.txt filec.txt
in dash:
file{a..c}.txt
in ksh:
filea.txt fileb.txt filec.txt

コメントからCentOSシステムでzshを使用します。シェルオプションを設定して動作を再現できますignorebraces

$ set -o|grep ignorebraces
ignorebraces          off
$ echo {1..3}
1 2 3
$ set -o ignorebraces
$ echo {1..3}
{1..3}
$ set +o ignorebraces
$ echo {1..3}
1 2 3

おすすめ記事