SHELL之SHELL脚本快速上手

1 SHELL脚本介绍

什么是shell脚本:就是各种命令的堆砌,从而组合成具有特定功能的“程序”

shell脚本一般为以 .sh 的文件,但这不代表 .sh 文件就是shell脚本或者不以 .sh 结尾文件就不是shell脚本。在这些脚本文件中,第一行会以形如 !# 开头的内容,而这一行也表明了这个文件是以何种方式执行的,如:

#!/bin/bash

这代表此文件执行时会调用 /bin/bash 来执行。其他常见脚本还有

#!/usr/bin/env python
#!/usr/bin/expect

2 shell脚本的执行

  • 通过脚本路径来执行
    • 需要脚本有x权限
    • ./XX.sh 参数…
    • /XX/YY/ZZ.sh 参数…
  • bash SCRIPTNAME
    • 在子shell中执行
    • bash FILE
    • bash -x FILE:调试shell脚本
    • 不需要文件有执行权限
  • source SCRIPTNAME**
    • 在当前shell中执行
    • source FILE
    • 一般用于配置类型的shell脚本
    • 不需要文件有执行权限

3 shell脚本的参数

  • $0:脚本名
  • 位置参数:$1$2$3
  • $@:所有参数:参数1 参数2 参数3 …
  • $*:所有参数:“参数1 参数2 参数3 …”
  • $?:上一个命令执行状态返回值
  • $#:参数的个数

4 shell函数

  • 格式:函数名(){函数体}
  • 调用:函数名 [参数] …
#!/bin/bash
#猜数字小游戏

guess_number(){
# 注意这里的$1和27行的$1意义并不相同
# 指传入函数中的第一个参数
t=$1
while :; do
	read -p "Input the number: " n
	if [ $n -gt $t ]; then
		echo "retype a smaller number"
	elif [ $n -lt $t ]; then
		echo "retype a bigger number"
	else
		echo "Right!!!"
		exit 0
	fi
done
}

if [ $# -eq 0 ]; then
	echo "请输入参数"
	exit 1
fi
# 注意这里的$1和7行的$1意义并不相同
# 指传入脚本中的第一个参数
guess_number $1 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值