将带有空格的文件名传递给 shell 脚本

将带有空格的文件名传递给 shell 脚本

shell脚本非常简单:

retroarch $* -c /tmp/retroarch/Data/retroarch/gambatte.cfg

(“retroarch”是另一个shell脚本)

如果传递的文件名包含空格,则会失败:

RetroArch [ERROR] :: Could not read ROM file.

答案1

使用引号。

代替

yourcommand some file.name

使用

yourcommand "some file.name"

使用变量时,也要引用它们。

yourcommand "$filename"
yourcommand "$@"
...

答案2

一般来说,您必须使用反斜杠 () 转义空格,或者将路径用单引号 (') 或双引号 (") 括起来。

$ retroarch "$*" -c /tmp/retroarch/Data/retroarch/gambatte.cfg

相关内容