「標準のBASH」では、二重引用符で囲まれたグロブ内のワイルドカードは使用されますか?例えば:
$ touch abc
$ ls "*abc*"
それでしょうか、それともbashでは機能しませんか?
UbuntuにはPOSIXまたはBASHに準拠していないbashバリアントが付属していると言われました。本当?
短い答え:いいえ
Man bashからの長い回答:
文字を二重引用符で囲むと、$、 `、\を除く、引用符内のすべての文字のリテラル値が保持されます。
そう:
~$ touch sas
~$ ls *a*
sas
~$ ls "*a*"
ls: cannot access *a*: No such file or directory
もちろん、二重引用符とアスタリスクについて話すときは、別の例外があります。パラメーターの展開(つまり、「$ *」)...しかし、それは別の歴史です。
2番目の質問:ダッシュについて質問していますか?ダッシュはスクリプト用の軽量シェルです。 debian、および拡張機能ごとのubuntu(debianベースの場合)では、shにエイリアスされます。 bashに対する主な利点は速度であるため、デフォルトでシステムスクリプトに使用されます。ただし、bashは、デフォルトでユーザーのインタラクティブシェルとして引き続き使用できます。
~$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 2011-04-21 11:54 /bin/sh -> dash