因此,我从这个讨论开始,它基本上可以完全满足我的要求。
但是,在使用参数(例如)时,使用引号保留目录空白的解决方案将失败cd -P dir
。关于保留空格和允许选项标志的任何想法?
这是我目前正在使用的功能。
function cd {
new_directory="$*";
if [ $# -eq 0 ]; then
new_directory=${HOME};
fi;
builtin cd "${new_directory}" && ls;
}
例如,使用上述方法,cd -P My\ Documents/
变得cd "-P My Documents"
明显失败。
当您编写时$*
,您已经迷失了:这消除了参数中的空格和分隔参数的空格之间的区别。请"$@"
改用,每个参数扩展为一个单词。
function cd {
builtin cd "$@" && ls
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句