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

双引号告诉 shell 保持原样*而不是扩展它。这将起作用:

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

相关内容