lon*_*nix 7 ls quoting wildcards variable
这从终端工作:
ls /dev/sda*
Run Code Online (Sandbox Code Playgroud)
我想在 bash 脚本中使用变量。我试过:
device="a"
ls "/dev/sd"$device"*"
Run Code Online (Sandbox Code Playgroud)
但我收到错误:ls: cannot access '/dev/sda*': No such file or directory
。
Hau*_*ing 11
ls /dev/sd$device* # or
ls "/dev/sd$device"*
Run Code Online (Sandbox Code Playgroud)
如果要执行通配符,则不得引用通配符元字符。
双引号告诉 shell 保持*
原样而不是扩展它。这将起作用:
device="a"
ls "/dev/sd${device}"*
Run Code Online (Sandbox Code Playgroud)