问题答案
有个函数是这样的:
 
function c(){
    cd $1
    ls -pG
}
但是 $1 如果里边存在空格, 就没法正确识别了, 比如:
 
➤➤ c a\ b/
bash: cd: a: No such file or directory
我应该怎样改写函数来获取带空格的参数呢?
标签: Bash
答案
用 shellcheck 检查一下就知道了:
 
     function c(){
         cd $1
             ^––SC2086 Double quote to prevent globbing and word splitting.
         ls -pG
     }
     
bash 里要时时刻刻记得加引号。zsh 就不需要了,默认变量替换只展开成一个参数。
举一反三