-
它是program,使用纯文本文件,利用shell。 功能是搭配正则表达式,管道命令,数据流重定向实现批处理文件。
-
使用\扩展下一行。#表注释。
-
shell.sh执行必须具有rx权限
-
以bash来执行即bash shell.sh或sh shell.sh。
-
./shell.sh表示在当前目录下执行。也可以放在/home/dmsai/bin/下面,因为家目录下的~/bin在centos中被默认设置在环境变量中,若shell.sh在
~
/bin内且具有rx的权限,则可直接输入shell.sh执行。因为先执行环境变量,所以若shell.sh不在环境变量中则要用./shell.sh,因为在环境变量中没有,若在环境变量中,即可直接shell.sh执行。 -
#!/bin/bash是在声明脚本使用的shell名称。
-
脚本文件头注释:
#!/bin/bash #Program: #History: #2018/12/17 root First release PATH= export PATH
-
declare可以声明变量类型,$((计算式))进行数值运算。
-
source可以让子进程的操作在父进程中生效。
-
test -e filename 测试filename存在否。
-
[]表判断,例如:
[ "$a" == "$b" ]
,中括号内每个组件之间要有空格,常量变量要用双引号括起来。 -
shell脚本的默认变量:
$
0表示脚本文件名,$1表示文件名后跟的第一个参数。 -
$#4表示有四个参数。
-
shift2表示拿掉前面的两个参数,造成参数变量号码偏移。
-
条件判断式
if ; then
fiif ; then
else
fiif ; then
elif ; then
else
fi -
利用case…esac判断
以case开头,以esac结尾,程序段以两个分号;;结束,*在最后表示如果上面没有结果则告诉用户的信息。case ${a} in
“ddddddd”)
echo
;;
“dfffff”)
echo
;;
*)
;;
esac -
function(函数)参照python
function fname () {
程序段
} -
loop(循环)
while [ condition ]
do
循环段落
doneuntil [ condition ]
do
循环段落
done -
for…do…done(固定循环)
for var in con1 con2 con3 …
do
程序段
donefor (( 初始值; 限制值; 复制运算 ))
do
程序段
done -
shell脚本的调试
sh -n shripts.sh 不执行脚本,仅查询语法问题。
sh -v shripts.sh 在执行脚本前,将文件内容输出到屏幕上。
sh -x shripts.sh 将使用到的脚本显示到屏幕上。
鸟哥linux第十二章-shell script笔记
最新推荐文章于 2025-09-06 16:45:42 发布
