1.shell环境
Shell 脚本(shell script),是一种为 shell 编写的脚本程序。业界所说的 shell 通常都是指 shell 脚本,通常用的是 Bash,也就是 Bourne Again Shell,由于易用和免费,Bash 在日常工作中被广泛使用。同时,Bash 也是大多数Linux 系统默认的 Shell。
在一般情况下,人们并不区分 Bourne Shell 和 Bourne Again Shell,所以,像 #!/bin/sh,它同样也可以改为 #!/bin/bash。
#! 告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序。
#!/bin/bash
2.变量
- 命名
- 不能有空格,等号前后都不能
- 不能使用标点符号
- 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头
- 定义
- 命令用反引号
- 引用变量用$,可加()或{},${数组名[下标]}
- 只读变量readonly,删除变量unset
- 字符串用单引号或双引号(单引号不识别变量与转义,原样输出)
- 输入
- read -p 提示信息 变量名
#!/bin/bash
mystr="hello world!"
echo $mystr
datetime=`date +'%F %T'`
echo $datetime
read -p '提示:please input a num:' inputnum
echo 'your input: num = ' $inputnum
3.流程
- 分支
#单行
if [ $(ps -ef | grep -c "ssh") -gt 1 ]; then echo "true"; fi
#多行
if condition1
then
command1
elif condition2
then
command2
else
commandN
fi
- 循环
#for
for var in item1 item2 ... itemN
do
command1
command2
...
commandN
done
#while
while condition
do
command
done
4.运算符
- 算数运算符
- 条件表达式要放在方括号之间,并且要有空格,例如: [ a = = a== a==b] 是错误的,必须写成 [ $a == $b ]
- 乘号(*)前边必须加反斜杠()才能实现乘法运算
- 关系运算符
- 只支持数字,除非字符串是数字
- -eq -neq -gt -lt -ge -le 等于 不等于 大于 小于 大于等于 小于等于
- 布尔运算符
- 与或非 -a -o !
- 逻辑运算符 AND && OR ||
- 注意需要空格
- 字符串运算符
- 等于 =
- 不等于 !=
- 长度是否为0 -z
- 长度不为0 -n
- 是否为空 $
- 文件运算符
- 是否是目录 -d
- 是否是文件 -f
- 是否存在 -e
- 是否为空 -s
5.执行参数
- 向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数
echo "执行的文件名:$0";
echo "第一个参数为:$1";
echo "第二个参数为:$2";
echo "第三个参数为:$3";
- 参考例子
#!/bin/bash
echo 'your args ' $0 $1 $2
if [ -e $1 ]
then
if [ -f $1 ]
then
echo $1 '是文件'
if [ -s $1 ]
then
echo '非空'
fi
fi
else
echo $1 '不存在'
fi
6.函数
- 直接调用
[ function ] funname [()]
{
action;
[return int;]
}
本文详细介绍Shell脚本的基础知识,包括shell环境、变量定义与使用、流程控制如分支和循环、运算符的应用、执行参数的传递及函数的创建与调用。适合初学者快速掌握Shell脚本编程。
33万+

被折叠的 条评论
为什么被折叠?



