shell----shell脚本的运行

定义一个shell脚本并运行

定义一个shell脚本:

vim 01.sh	#shell脚本是以.sh结尾的文件
#!/bin/bash	#指定shell程序的解释器,/bin/bash是红帽自带的解释器
echo "hello shell"     #这是一条输出语句

在这里插入图片描述运行脚本:

sh 01.sh	#运行shell脚本

运行结果:
将shell脚本中每一行语句运行完,执行结果就是输出想要输出的语句
在这里插入图片描述
实现程序与用户进行交互

vim 02.sh

从终端读取用户输入的数据,并赋值给preson变量,再用read命令来从标准输入中读取用户输入的数据:

#!/bin/bash
#程序需要与用户交互
echo "What is your name ?"      #输出一条语句,询问用户名字
read preson     #读取用户的输入,还需要接收,用preson接收用户输入的名字
echo "hello,$preson"    #引用变量,在shell中引用变量需要用$符号

在这里插入图片描述

sh 02.sh

执行结果:
shell解释器执行shell脚本中的每一个命令,首先执行第一行命令,输出语句询问用户名字,然后执行第二行语句,让用户输入名字,在此处shell脚本需要定义一个变量,用于接收用户输入的信息,最后执行第三行语句,调用变量,问候用户。
在这里插入图片描述

shell脚本的运行有两种方法

运行shell脚本有两种方法,一种在进程中运行,另一种是在当前shell进程中运行。

vim 01.sh

在这里插入图片描述

运行脚本方法:
方法一:

sh 02.sh	#在新的进程里运行脚本

方法二:
shell脚本没有执行权限,当添加了执行权限,就可以不指定编译解释器,直接用./02.sh执行shell脚本。这样的作用是在编辑shell脚本时可以不指定编译器,使用./命令时,直接使用系统中默认的编译器版本bash版本。
在这里插入图片描述

ls -l 02.sh	#查看权限,显示没有执行权限
chmod +x 02.sh	#加执行权限
./02.sh		#在新的进程里运行脚本

执行结果
当给shell脚本添加可执行权限后,不论在shell脚本中有无指定shell解释器,都可用./命令执行shell脚本,因为如果shell脚本中指定了解释器,执行时就用脚本中的解释器,当脚本中没有指定解释器,./命令就可以使用默认的shell解释器,而红帽linux版本使用的默认shell解释器是bash版本。

在这里插入图片描述方法三:指定使用解释器运行

cat /etc/shells	#查看shell编译器版本
/bin/sh 01.sh	#指定/bin/sh版本运行脚本

这么做是将脚本01.sh作为参数传递给了解释器。

显示当前终端的进程

vim 03.sh

在这里插入图片描述

echo $$			#当前进程
source 03.sh 	#强制执行脚本

source命令的作用:
1.当没有给脚本执行权限时,./命令执行脚本会被拒绝,这时可以使用source命令执行,source是强制执行脚本。
2.. 03.sh也可以强制执行脚本。
3../03.sh #在新的进程里运行脚本
source 03.sh #在当前进程中运行脚本

在这里插入图片描述

编辑一个shell脚本,显示当前目录

vim 04.sh

把pwd运行的结果赋值给userdir,userdir是一个变量。
在这里插入图片描述
运行脚本:

方法一:
sh 04.sh	#新进程里运行
echo $userdir	#运行没有显示

方法二:
source 04.sh	#在当前的进程中运行的
echo $userdir	#运行显示当前目录

两种执行方法为何显示的结果不一样?
因为第一种方法是在新的进程中运行的,所以显示不了当前目录,当前目录为空;第二种方法是在当前进程中执行的,所以可以显示当前目录。

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值