Unixで文字列を連結するために使用されるコンマ ','演算子の意味

Unixで文字列を連結するために使用されるコンマ ','演算子の意味
$ ls -ltr  /{,usr/}bin/l*|tail -4
-r-xr-xr-x   1 root     bin        31544 Dec 20  2017 /usr/bin/login
-r-xr-xr-x   1 root     bin        31544 Dec 20  2017 /bin/login
lrwxrwxrwx   1 root     root          15 Aug 28  2018 /usr/bin/libpng-config -> libpng12-config
lrwxrwxrwx   1 root     root          15 Aug 28  2018 /bin/libpng-config -> libpng12-config

lこれは、in/usr/binおよびディレクトリ文字で/bin始まるすべての実行可能ファイルの名前を提供します。

位置を変えてプレイすると,理解できない結果が出ます。たとえば、以下のスクリーンショットを参照してください。

$ ls -ltr  /{,usr,/}bin/l*|tail -4
/usrbin/l*: No such file or directory
-r-xr-xr-x   1 root     bin        31544 Dec 20  2017 /bin/login
-r-xr-xr-x   1 root     bin        31544 Dec 20  2017 //bin/login
lrwxrwxrwx   1 root     root          15 Aug 28  2018 /bin/libpng-config -> libpng12-config
lrwxrwxrwx   1 root     root          15 Aug 28  2018 //bin/libpng-config -> libpng12-config

上記と同じですが、リストの順序が変更されていませんusr

$ ls -ltr  /{usr,/}bin/l*|tail -4
/usrbin/l*: No such file or directory
-rwxr-xr-x   1 root     other       2286 Jun 15  2017 //bin/libpng14-config
-r-xr-xr-x   1 root     bin        28608 Oct 20  2017 //bin/ldaplist
-r-xr-xr-x   1 root     bin        31544 Dec 20  2017 //bin/login
lrwxrwxrwx   1 root     root          15 Aug 28  2018 //bin/libpng-config -> libpng12-config

これは/ binにのみ存在するファイルで、各/エントリには追加のプレフィックスがあります。

どの魅力を発散しているか説明してください,

ベストアンサー1

中かっこはコンマ間のすべての文字列に置き換えられるため、予想されるものとは異なり、yourX{,a,b}Yに拡張されます。XY XaY XbY/{usr,/}bin/l/usrbin/l* /bin/l*/usr/bin/l*

/{,usr/}bin/l*  #-> /[]bin/l* /[usr/]bin/l*
/{,usr,/}bin/l* #-> /[]bin/l* /[usr]bin/l* /[/]bin/l*
/{usr,/}bin/l*  #-> /[usr]bin/l* /[/]bin/l*

おすすめ記事