美文网首页小猿圈-IT自学人的小圈子我用 LinuxLinux
小猿圈学习Linux之shell脚本中cd命令无效的解决方法

小猿圈学习Linux之shell脚本中cd命令无效的解决方法

作者: f673630174f6 | 来源:发表于2019-05-31 14:48 被阅读0次

对于正在学习linux的你,有没有解决不了的问题呢?特别是有些问题网上也找不到答案,经常要切换到固定的文件夹,于是写了个shell脚本用cd命令切换却发现目录切换不了。下面小猿圈Linux讲师为你讲解shell脚本中cd命令无效的解决方法。

代码如下:

#! /bin/bash

# c.sh

cd /mnt/hgfs/vmshare

pwd

解释:

执行的时候是./c.sh来执行的,这样执行的话终端会产生一个子shell(类似于C语言调用函数),子shell去执行我的脚本,在子shell中已经切换了目录了,但是子shell一旦执行完,马上退出,子shell中的变量和操作全部都收回。回到终端根本就看不到这个过程的变化。

验证解释:

#! /bin/bash

# c.sh

history

cd /mnt/hgfs/vmshare

sleep1 #延迟1s

pwd

首先按照 ./c.sh执行,这时候终端没有切换目录,history执行的结果是空的,说明子shell里面没有历史命令(证明前面的解释是正确的)。

解决方法:

source c.sh或者. ./c.sh,这时候就是直接在终端的shell执行脚本了,没有生成子shell,执行的结果就是输出历史命令,并且切换了目录。

注意上面. ./c.sh .和.中间有个空格!

以上就是小猿圈linux讲师介绍的shell脚本中cd命令无效的解决方法,希望更多学习linux的同学找到适合自己的学习方式以及学习方法linux自学交流1群:819805410,如果想学习编程语言的话可以到小猿圈上观看视频,里面有最新最全面的视频教程。

相关文章

  • 小猿圈学习Linux之shell脚本中cd命令无效的解决方法

    对于正在学习linux的你,有没有解决不了的问题呢?特别是有些问题网上也找不到答案,经常要切换到固定的文件夹,于是...

  • shell脚本学习第二弹-神奇的cd

    shell脚本学习第二弹-神奇的cd 前言:作为一个linux程序员,估计用的最多的命令就是cd了吧,我们试着用脚...

  • 小猿圈总结Linux常见命令(二)

    上文篇幅过长现在吧余下的小猿圈Linux老师总结的Linux常见命令继续分享给大家,想学习编程语言可以到小猿圈看看...

  • 小猿圈总结Linux常见命令(二)

    上文篇幅过长现在吧余下的小猿圈Linux老师总结的Linux常见命令继续分享给大家,想学习编程语言可以到小猿圈看看...

  • Shell入门笔记

    Shell脚本:Linux Shell脚本学习指南菜鸟教程 - Shell教程Linux入门 - Shell脚本是...

  • Linux操作系统命令汇总

    SHELL脚本学习笔记 标签(空格分隔): linux shell脚本 1. 常用命令汇总 alias 设置别名u...

  • shell脚本基础

    shell介绍 shell命令: 在linux终端能被解析的命令,就是shell命令。 shell脚本: 多个sh...

  • golang exec库

    exec库执行shell命令shell的 cd功能无效,需要使用os.chdir()

  • [Linux]Shell

    shell:命令解释器,驱动linux内核;应用程序调用shell命令 1.Shell脚本的执行方式 脚本格式要求...

  • 17. Interview-Linux

    1 用过哪些Linux命令? 2 写过shell脚本吗?shell脚本基本格式? 3 Linux I/O读写方式 ...

网友评论

    本文标题:小猿圈学习Linux之shell脚本中cd命令无效的解决方法

    本文链接:https://www.haomeiwen.com/subject/zfawtctx.html