具有文件路径,我想转到文件目录。完整的路径是这样的:
/Users/user1/Documents/workspace/project/src/file.py
我想在终端去包含该文件的文件夹。在这种情况下,它将是:
/Users/user1/Documents/workspace/project/src/
现在,我必须将文件粘贴到终端中,删除文件名并执行cd。喜欢:
cd /Users/user1/Documents/workspace/project/src/
是否有命令/以任何方式可以跳过删除文件并使用智能命令知道它应转到包含此文件的目录的任何方法?
我每天必须检查大量文件,每次都从路径中删除文件名变得非常繁琐。
所需的操作将是这样的:
>>smart_cd /path/to/file.py
>>pwd
/path/to
假设您正在使用Bash:您可以放入 ~/.bashrc
function smart_cd() {
cd "$(dirname $1)"
}
然后:(重新加载您的.bashrc之后)
$ smart_cd /Users/user1/Documents/workspace/project/src/file.py
奖励:您还可以替换cd
命令来处理普通和智能 cd
:
function cd() {
if [ $# -eq 0 ] ; then
# no arguments
builtin cd
elif [ -d $1 ] ; then
# argument is a directory
builtin cd "$1"
else
# argument is not a directory
builtin cd "$(dirname $1)"
fi
}
有关更多信息,请参见:
man bash
对$#
man test
关于[ ... -eq ... ]
和的解释[ -d ... ]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句