ワイルドカード付きls

ワイルドカード付きls

これは端末で行うことができます。

ls /dev/sda*

bashスクリプトで変数を使用したいです。私は試した:

device="a"
ls "/dev/sd"$device"*"

しかし、エラーが発生しますls: cannot access '/dev/sda*': No such file or directory

答え1

ls /dev/sd$device* # or
ls "/dev/sd$device"*

ワイルドカードを適用するには、ワイルドカードのメタ文字を引用しないでください。

答え2

二重引用符は、シェルが拡張する*代わりにそのままにするように指示します。これは働きます:

device="a"
ls "/dev/sd${device}"*

関連情報