解决shell脚本cd命令不能进入指定目录的问题
2016-04-20 00:00
465 查看
问题:
在linux环境下,我们经常会有通过shell脚本进入指定目录的操作,脚本cddir.sh内容如下:
./cddir.sh 执行之后并不会进入local目录, 这是因为shell在执行脚本时,会创建一个子shell,并在子shell中逐个执行脚本中的指令; 而子shell中从父shell中继承了环境变量,但是执行后不会改变父shell的环境变量
解决方法:
source命令是在当前shell环境下执行脚本,不会创建子shell;
在linux环境下,我们经常会有通过shell脚本进入指定目录的操作,脚本cddir.sh内容如下:
#!/bin/sh path=/usr/local cd $path
./cddir.sh 执行之后并不会进入local目录, 这是因为shell在执行脚本时,会创建一个子shell,并在子shell中逐个执行脚本中的指令; 而子shell中从父shell中继承了环境变量,但是执行后不会改变父shell的环境变量
解决方法:
source cddir.sh
source命令是在当前shell环境下执行脚本,不会创建子shell;
相关文章推荐
- 3.2Linux文本处理工具及bash重定向
- 4.2bash特权及其用法
- shell特殊符号
- Windows环境下利器:powershell
- 每天一篇python:执行shell命令
- shell env
- shell脚本
- shell编程——条件判断
- -bash: wget: command not found 解决方法
- Python执行shell脚本的几种方式(最好用subprocess.Popen来替代os.system)
- 关于shell脚本source ~/.bash_profile不起作用
- Linux Shell(初识)
- pod install 错误(-bash: pod: command not found)解决方案
- shell判断文件是否存在
- Linux下使用popen()执行shell命令
- shell正则
- linux shell 的here document 用法 (cat << EOF)
- Linux Shell 中的反引号,单引号,双引号
- Shell 脚本的小实战
- 使用Shell脚本查询服务器硬件信息