编写 shell 脚本,用户输入一个目录名,如果进入该目录成功就打印成功提示,否则打印出错提示。
代码:
#!/bin/bash
read -p "dirname: " dirname
cd $dirname
if [ $? -ne 0 ]; then
echo "failed"
else
echo "succeed"
fi
我们通过ls命令,可以发现当前文件夹sss中有一个名为"xxx"的文件夹:
运行:
运行shell脚本——mkdir.sh:
系统提示 : succeed,并且用户名后面的目录也成功变成了xxx。说明shell脚本执行成功。
失败成功的提示:
在shell环境下直接使用./mkdir.sh执行脚本是无法进入指定目录的,因为shell直接执行脚本时,会创建一个子shell,电脑逐步执行子shell脚本中的命令。 子shell继承了父shell的环境变量,但执行后不会改变父shell的环境变量,如果想改变父shell的环境变量,可以采用source命令或点命令执行脚本。这两种方式都不会产生子shell。
source命令:
source ./mkdir.sh
点命令(注意两个点之间有空格!):
. ./mkdir.sh