说明:首先要赋予 (类名)hellowrld.sh 脚本的 + 权限,在执行脚本
说明:不用赋予脚本 + x权限,直接执行即可
注意: 在输出TOMACT_HOME 环境变量前,需要让其生效source /etc/profile
基本语法
$n (功能描述:n为数字,$0代表命令本身,$1-$9代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如:${10})
$* (功能描述:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体)
$@ (功能描述:这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待)
$# (功能描述:这个变量代表命令行中所有参数的个数)
基本介绍
$$ (功能描述:当前进程的进程号(PID))
$! (功能描述:后台运行的最后一个进程的进程号(PID))
$? (功能描述:最后异常执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非 0 ( 具体是那个数,由命令自己来决定 ),则证明上一个命令执行不值钱了)
基本语法
“$((运算符))” 或 “[运算式]” 或者 exper m + n
注意exper运算符间要有空格
exper m - n
exper \* , / , % 乘,除,取余
基本语法
【条件】(注意condition前后要有空格) --注释 非空返回true
判断语句
两个整数的比较 -lt 小于、-le 小于等于、-eq等于、-gt大于、-ge大于等于、-ne不等于
按照文件权限进行比较 -r 有读的权限、 -w 有写的权限、 -x 有执行的权限
按照文件类型进行判断 -f 文件存在并且是一个常规的文件、 -e 文件存在 -d 文件存在并是一个目录
if [条件判断式]
then
代码
fi
或者、多分支
if [ 条件判断式]
then
代码
elif [ 条件判断式]
then
代码
fi
注意事项: 【 条件判断式 】,中括号和条件判断式之间必须有空格
case $变量名 in
“值1”) --如果变量的值等于值1,
则执行程序1
;;
“值2”) --如果变量的值等于2,
则执行程序2
;;
...省略其他分支。。。
*) --如果变量的值都不是以上的值,
则执行此程序
;;
基本语法1
for 变量 in 值1 值2 值3 ....
do
程序/代码
done
基本语法2
for(( 初始值;循环控制变量;变量变化 ))
do
程序/代码
done
while [ 条件判断式 ]
do
程序/代码
done
注意:while 和 【有空格、条件判断式 也有空格】
基本语法:
read (选项)(参数)
选项:
-p :指定读取值时的提示符; -t :指定读取值时等待的时间(秒),如果没有在指定的时间内输入,就不要等待了。。
参数:
指定读取值的变量名
shell编程和其他编程语言一样,有系统函数,也可以自定义函数。
basename基本语法
功能:
返回完整路径最后/的部分,常用于获取文件名
basename [路径名] [后缀]
(功能描述:basename命令会删除所有的前缀包括最后一个(’/‘)字符,然后将字符串显示处理。)
dirname基本语法
功能:
返回完整路径最后/的前面的部分,常用于返回路径部分
dirname 文件绝对路径
(功能描述:从给定的包含绝对路径的文件名中去除文件名 --非目录的部分,然后返回剩下的路径 --目录 部分)
基本语法
【function】 functionname[( )]
{
程序/代码
}
调用直接写函数名: function [值]