在执行前向字符串添加引号?

时间:2013-03-16 02:25:22

标签: bash

所以我有一个表示路径的字符串:

string="/Volumes/Media/James Blake - Digital Lion [V0] 2013"

我想表演:

cd $string

#do some work..

这不起作用,因为该目录包含bash不喜欢的空格和括号。

所以我的第一个想法是将字符串更改为:

/Volumes/Media/James\ Blake\ -\ Digital\ Lion\ \[V0\]\ 2013/

然而在终端中只做:

cd "/Volumes/Media/Transmission/Finished/James Blake - Digital Lion [V0] 2013" works just fine.

所以我想知道有没有办法在字符串的每一端添加引号并实际用引号执行命令?

1 个答案:

答案 0 :(得分:3)

cd "$string"

始终用引号括起变量(除非有充分理由不这样做),因为它可以帮助您避免这种情况。