zoukankan      html  css  js  c++  java
  • shell脚本中无法使用cd的问题解决方法

    前言

    在我们使用shell编写脚本的时候,有时会需要切换到其他的目录中。但是,当我们按往常的格式一样在脚本中写入cd后,要切换的目录是存在的,但是当执行脚本,我们会收到报错,原因是cd的命令在脚本中没有实现。

    原因

    1. 在shell在执行脚本的时候,会创建一个子shell,并在子shell中逐条执行脚本中的指令

    2. 子shell会从父shell中继承了环境变量,但是执行后不会改变父shell的环境变量

    3. 在子shell中的操作和环境变量不会影响父进程,在执行完shell后又回到了父进程

    解决方法

    只需要source脚本即可。

    source 命令可以在当前的shell环境下执行脚本,不会创建子shell ,直接影响父进程。

    source命令可直接换成 “.”。

    source /home/bash/bash.sh
    
    或
    
    . /home/bash/bash.sh
  • 相关阅读:
    java中的静态变量与实例变量
    Java中的关键字this
    继承和多类的基础(C++)
    11-1:(42)接雨水
    10-2
    10-1
    9-2
    9-1
    8-2
    8-1
  • 原文地址:https://www.cnblogs.com/ZhengHengWU/p/12883123.html
Copyright © 2011-2022 走看看