简单的shell脚本及执行

shell脚本的运行

1.which和/etc/shells文件

which命令:查找命令的完整路径
具体功能:

which命令用于查找并显示给定命令的绝对路径, 环境变量$PATH中保存了查找命令时需要遍历的目录。
which指令会在环境变量 $PATH设置的目录里查找符合条件的文件。 使用which命令,就可以看到某个系统命令是否存在,
以及执行的到底是哪一个位置的命令。


在这里插入图片描述
/etc/shells:一个有效登陆shell的列表
可以查看可以使用的shell解释器

在这里插入图片描述

2.编写一个简单的脚本

vim 01.sh			#写一个脚本(文件名必须以.sh结尾)

在这里插入图片描述

3.运行脚本

有以下几种方法都可运行脚本:

1)sh 01.sh
sh test.sh :即使在脚本中指定了#!/bin/bash,但仍然是使用/bin/sh执行test.sh
=bash a.sh   ##将脚本作为参数传给解释器。指定解释器解释脚本,这样就不需要在脚本中指定解释器,指定了也没用。
2)/bin/bash a.sh ###将脚本作为参数传给解释器。指定解释器解释脚本,这样就不需要在脚本中指定解释器,指定了也没用。
3)chmod +x 01.sh  ##这种方式会找到shell脚本中指定的解释器,然后运行
./a.sh
4)source a.sh###在同一进程执行shell,并且强制执行。这样做的好处是可以调用脚本中的变量

4.接收用户的输入数据

read命令来从标准输入中读取用户输入的数据
$(占位符)表示变量

在这里插入图片描述在这里插入图片描述

5.运行shell脚本的方式详解

运行 Shell 脚本有两种方法:一种在新进程中运行,一种是在当前 Shell 进程中运行。

.在新进程中运行脚本

1.sh xxx.sh
2.chmod +x xxx.sh #将shell脚本作为程序执行
   ./xxx.sh 
 上述命令均需要在脚本文件中指定shell解释器

3. /bin/bash xxx.sh #或者指定其他的shell解释器
通过上述命令不需要在脚本文件中编写解释器的信息,写了也没用
4. bash xxx.sh #更为简洁,运行bash命令,shell会在目录中找到对应的应用程序
上述两种写法本质上是一样的,只不过多了个查找的过程而已

.在当前进程中运行shell脚本

如何判断是不是新进程,查看脚本文件运行后的进程的pid和当前terminal的pid就可以判断了。
在shell中,可以使用$$变量获取当前进程的pid。
1.先获取脚本文件程序的pid
在这里插入图片描述
2.查看termianl的pid(使用source命令或.可强制执行脚本不用加权限,并且在当前进程中执行脚本)
在这里插入图片描述

source用法( 将自身脚本中的变量值或函数等的返回值返回到当前shell)

在这里插入图片描述不同方式运行脚本的结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值