首页 电脑 电脑学堂 查看内容

shell如何更改当前工作路径

2011-7-20 10:58 550 0

摘要:   shell 脚本执行有三种方法  bash 脚本名 sh 脚本名 chmod +x 脚本名  使用下面语句测试  #a.sh(扩展名可不要)  cd /  pwd  echo "complete"...
关键词: localhost fedora 目录 脚本 本名 sh oop 文件 complete 进程

  shell 脚本执行有三种方法  bash 脚本名 sh 脚本名 chmod +x 脚本名  使用下面语句测试  #a.sh(扩展名可不要)  cd /  pwd  echo "complete"  然而具体执行时候,发现过程中改变过路径,然而最终结果是并没有改变路径  [fedora@localhost ~]$ bash a.sh  /  complete  [fedora@localhost ~]$  原因分析:  执行脚本时候,只是在当前的shell下开了一个子进程,切换目录的操作只对该进程中相关后续指令有效,但改变不了父进程的目录。  解决方法:  法一: 用 source a.sh就行了。  法二:  [fedora@localhost ~]$ cd ~  [fedora@localhost ~]$ chmod u+x a.sh  [fedora@localhost ~]$ . ./a.sh  /  complete  [fedora@localhost /]$  对于 $ . ./a.sh  第一个点是bash的内部命令,表示在当前shell中运行  后面的“。/a.sh”是命令的参数,即要执行的脚本  注:两点之间要有空格  一个小脚本:oop 目录或者文件,若为目录,则进入该目录,若为文件,则编辑改文件:  1. oop.sh的代码#/bin/sh  # open a file or directory  $1 >& /dev/null  if [ -d $1 ];then  cd $1;  else  vim $1;  fi  2. 别名oop为source /tmp/oop.sh:  alias oop='source /tmp/oop.sh'  以后执行oop 命令后,文件夹、文件随心所欲
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部