Git入门求助:进入带连字符的目录时bash报错
解决带连字符和空格的目录cd问题
哈哈,这个坑我之前踩过!带前后连字符(-)又有空格的目录名,确实会让bash犯迷糊——它会把开头的-当成命令选项的前缀,再加上空格把名字拆成多个参数,自然就报too many arguments了。
给你几个靠谱的解决方法,亲测有效:
用引号包裹目录名(最推荐)
不管是双引号还是单引号,都能让shell把整个目录名当成单个参数,既不会解析-为选项,也不会把空格当成分隔符:cd "- folder1 -" # 或者单引号也完全ok cd '- folder1 -'转义所有特殊字符
用反斜杠\把每个空格和连字符都转义,告诉shell这些是普通字符:cd \-\ folder1\ \-Tab补全(最省心)
其实不用手动输入这么麻烦,输入cd -之后按一下Tab键,bash会自动帮你处理转义或者加上引号,直接补全成正确的命令,完全不用记规则!
顺便说下你之前尝试的问题:比如cd -- folder1 -,--确实能告诉bash后面不再是选项,但空格还是会把folder1和-拆成两个参数,所以还是报错;cd ./- folder1 -同理,./-开头还是-,bash依然会把它当成选项解析,自然不行。
内容的提问来源于stack exchange,提问作者physicalcog
相关产品推荐
相关产品推荐

