alex_feng 2013-07-17 16:12
浏览 461
已采纳

shell脚本 中 cd不切换目录的问题

小弟碰到这么一个问题 先上一段脚本:
echo 'this is run ....'
path1="/home/fengjc"
cd $path1
pwd
echo 'done..'

服务器会爆出:
this is run ....
: No such file or directory
: command not found
done..

为啥不能切换到我指定的目录 (目录是有的)求大神们协助啊...解决后 立即给分啊

  • 写回答

2条回答 默认 最新

  • 自然点可以嘛 2013-07-18 10:13
    关注

    你是用什么执行的脚本,假设脚本名为t.sh
    1.
    sh t.sh 这样执行的脚本,t.sh可以没有执行权限,当前shell环境会启动一个子进程来执行此脚本,执行后返回到父进程的shell环境,在子进程中会进入到CD的目录,但是在父进程中环境并没有改变,也就是目录没有改变。

    2.
    ./t.sh 这样执行的脚本与1类似,只不过t.sh要有可执行权限

    3.
    source t.sh 这样执行的脚本,t.sh可以没有执行权限,会在当前的shell环境下逐行读取脚本命令内容并执行,执行后就会跳转到CD的目录了

    4.
    . t.sh 这样执行的脚本与3一直

    至于你运行脚本报的错误 确实是找不到文件或目录
    你可以在命令行 直接cd /home/fengjc 尝试一下

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3