红联Linux门户
Linux帮助

shell里面关于cd转目录的问题

发布时间:2007-12-29 17:28:47来源:红联作者:winsonjie
#! /bin/bash
cd /etc


我在cd.sh里面写了以上代码,但执行后却没反应.谁能帮我解释一下.谢谢
文章评论

共有 5 条评论

  1. 于 2014-03-28 13:52:26发表:

    source file.sh

  2. gxf 于 2007-12-29 22:53:56发表:

    "跳转目录"只是在子shell存活期间生效,也就是说你的shell脚本可能需要切换到其他目录但是这并不影响当前的shell(父shell)的目录。想想你在编译安装一个软件的时候是不是看到了许多切换目录的信息呢,但是软件安装完之后你的当前目录还是没变啊。你看一段小代码就明白了:[code]#! /bin/bash
    cd /etc
    mypath=`pwd`
    echo "$mypath" #说明在子shell执行过程中却确实切换了目录[/code]所以你要明白shell的工作机制,最好看看进程相关的知识

    [ 本帖最后由 gxf 于 2007-12-29 22:58 编辑 ]

  3. tearring 于 2007-12-29 22:42:30发表:

    引用:
    原帖由 gxf 于 2007-12-29 22:08 发表
    这是因为你的脚本是由shell终端fork产生的子shell执行的,所以脚本执行完毕子shell也结束,因而返回父shell也就是当前的终端

    那该如何执行,跳转目录?

  4. gxf 于 2007-12-29 22:08:35发表:

    这是因为你的脚本是由shell终端fork产生的子shell执行的,所以脚本执行完毕子shell也结束,因而返回父shell也就是当前的终端

  5. yezhulin1982 于 2007-12-29 20:16:09发表:

    . ./scriptname或source scriptname