码迷,mamicode.com
首页 > 系统相关 > 详细

shell脚本中无法使用cd的问题解决方法

时间:2020-05-13 17:24:29      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:解决   source   问题   编写   实现   一个   bsp   pre   前言   

前言

在我们使用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

 

shell脚本中无法使用cd的问题解决方法

标签:解决   source   问题   编写   实现   一个   bsp   pre   前言   

原文地址:https://www.cnblogs.com/ZhengHengWU/p/12883123.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!