当前位置: 技术问答>linux和unix
bash 脚本小问题
来源: 互联网 发布时间:2016-11-01
本文导语: 初用linux,经常要访问很深的目录,而且要频繁在几个目录间切换,比如有目录: /Myproject/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9 我可能不停在这些目录间切换。 进入子目录我可以用tab键。最苦恼的是返回上层目录,需...
初用linux,经常要访问很深的目录,而且要频繁在几个目录间切换,比如有目录:
/Myproject/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9
我可能不停在这些目录间切换。 进入子目录我可以用tab键。最苦恼的是返回上层目录,需要很长的".."
例如从dir9到dir3,就要输入: cd ../../../../../../..
我想通过一个bash脚本来实现这个功能,比如取名 goback。后面再来个整数参数:
从dir9到dir3就可以用 goback 6 来实现
从dir7到dir4就可以用 goback 3 来实现
功能仅次而已。。。。
不知道这里有没有bash方面的高手,帮忙实现一下,多谢了!
/Myproject/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9
我可能不停在这些目录间切换。 进入子目录我可以用tab键。最苦恼的是返回上层目录,需要很长的".."
例如从dir9到dir3,就要输入: cd ../../../../../../..
我想通过一个bash脚本来实现这个功能,比如取名 goback。后面再来个整数参数:
从dir9到dir3就可以用 goback 6 来实现
从dir7到dir4就可以用 goback 3 来实现
功能仅次而已。。。。
不知道这里有没有bash方面的高手,帮忙实现一下,多谢了!
|
你这个当然可以实现的。这么做吧。假设我要执行的脚本在~/bin下面(我比较喜欢放在这个目录当中)。
$ cd ~/bin
$ vim goback.sh
内容如下:
#!/bin/bash
if [ $# != 1 ]
then
echo "a go back dir number required."
exit 1
fi
newdir=`echo "../" | awk -v num=$1 '{for(i=1;i
$ cd ~/bin
$ vim goback.sh
内容如下:
#!/bin/bash
if [ $# != 1 ]
then
echo "a go back dir number required."
exit 1
fi
newdir=`echo "../" | awk -v num=$1 '{for(i=1;i