如何在shell脚本中执行cd命令
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在shell脚本中执行cd命令相关的知识,希望对你有一定的参考价值。
参考技术A #!/bin/bash# Your Answer
# filename: cd.sh
# chmod +x cd.sh
# ./cd.sh /var/www
DIR=/home
if [ -n "$1" ] && [ -d $1 ]; then
DIR=$1
fi
cd $DIR
pwd 参考技术B 在写完脚本后,运行时要键入: ". ./"而非“./"即可。 参考技术C 直接写就可以了
cd是系统命令,可以直接使用本回答被提问者和网友采纳 参考技术D 和明领航用法是一样的。
shell脚本中无法使用cd的问题解决方法
前言
在我们使用shell编写脚本的时候,有时会需要切换到其他的目录中。但是,当我们按往常的格式一样在脚本中写入cd后,要切换的目录是存在的,但是当执行脚本,我们会收到报错,原因是cd的命令在脚本中没有实现。
原因
-
在shell在执行脚本的时候,会创建一个子shell,并在子shell中逐条执行脚本中的指令
-
子shell会从父shell中继承了环境变量,但是执行后不会改变父shell的环境变量
-
在子shell中的操作和环境变量不会影响父进程,在执行完shell后又回到了父进程
解决方法
只需要source脚本即可。
source 命令可以在当前的shell环境下执行脚本,不会创建子shell ,直接影响父进程。
source命令可直接换成 “.”。
source /home/bash/bash.sh
或
. /home/bash/bash.sh
以上是关于如何在shell脚本中执行cd命令的主要内容,如果未能解决你的问题,请参考以下文章