shell脚本

1、特定开头,指明此shell使用哪个shell对其进行解释执行。
#!/bin/bash

2、shell脚本的执行
   赋予权限   chmod +x xxx.sh    或者  chmod 755 xxx.sh
   指定shell    bash xxx.sh
   使用"." 或者 “source”执行脚本      .  xxx.sh  或者  source xxx.sh

3、交互式脚本,需要中途用户输入数据
    read [ -p "描述字符串" ]  变量名
PS:  若使用-p参数时,变量名要与前面的字符串至少一个空格,否则会发生错误。
=======
read -p "please input your name:” username
echo "hello , your name is $username"
=======
please input your name:erho
hello , your name is erho

4、变量的数值运算
1)  Linux shell 中使用 let , [ ] ,(( )) 三种运算符操作 shell 变量进行简单的基本运算;
2)Linux shell 中使用 expr 与 bc 两个程序实现高级运算;
常规情况下,shell脚本可以使用如“+” “-” “*” “/” “,”  等运算,但shell下的变量默认都是字符串,直接运算会发生错误。
这里需要declare命令,定义变量时将其声明为整形

$ num1=10
$ num2=120
$ num3=$num1+$num2
$ echo $num3
10+120
====
declare -i num3=$num1+$num2
echo $num3
130

5、脚本逻辑判断与表达式
test 条件   或    [ 条件 ]

                                       test命令运算符详细列表
对字符串进行判断
运算结果
string1 = string2判断string1是否等于string2,如果相等,返回真
string1 != string2判断string1是否不等于string2,如果不等于,返回真
-z string判断string长度是否为零,如果为零,返回真
-n string判断string长度是否不为零,如果不为零,返回真
对整数进行判断
运算结果
int1 -eq int2判断两个整数是否相等,如果相等,返回真
int1 -ne int2判断两个整数是否不等,如果不等,返回真
int1 -gt int2判断int1是否大于int2,如果大于,返回真
int1 -ge int2判断int1是否大于等于int2,如果是,返回真
int1 -lt int2判断int1是否小于int2,如果小于,返回真
int1 -le int2判断int1是否小于等于int2,如果是,返回真
对文件存在或者类型进行判断
判断结果
-e判断文件是否存在,如果存在,返回真
-b判断文件是否是块设备文件,如果是,返回真
-c判断文件是否是字符设备文件,如果是,返回真
-f判断文件是否是个普通文件,如果是,返回真
-d判断文件是否是个目录,如果是,返回真
-L判断文件是否是个链接文件,如果是,返回真
对文件属性进行判断
判断结果
-s判断文件是否不是空白文件,如果不是,返回真
-r判断文件是否可读,如果是,返回真
-w判断文件是否可写,如果是,返回真
-x判断文件是否可执行,如果是,返回真
-u判断文件是否设置了SUID,如果是,返回真
-g判断文件是否设置了SGID,如果是,返回真
-k判断文件是否设置了sticky bit属性,如果是,返回真
两个文件的比较
判断结果
file1 -nt file2判断file1是否比file2新,如果是,返回真
file1 -ot file2判断file2是否比file1新,如果是,返回真
逻辑判断
判断结果
条件1 -a 条件2当条件1和条件2同时为真时,返回真
条件1 -o 条件2当条件1和条件2只要有一个为真,则返回真
! 条件1
当条件1为真时,返回假


6、条件判断if语句
if [  条件  ]
then
命令 1
命令 2
fi
if [ 条件 ]; then
命令 1
命令 2
fi
空格 非常重要如果写成一行,如上


多重判断,嵌套判断
if [ 条件 ]; then
命令 1
命令 2
......
else
命令 3
命令 4
......
fi
if [ 条件1  ]; then
命令 1
......
elif [ 条件2 ]; then
命令 2
......
elif [ 条件3 ]; then
命令 3
......
else
命令 4
......
fi
if [ 条件 ]; then
   if [ 条件 ]; then
  命令 1
  ......
  else
命令 2
......
   fi
else
命令 3
......
fi


7、case命令

case   变量值  in
值 1)
        命令 1
        ;;
值 2)
        命令 2
        ;;
.......
*)
        命令n
        ;;
esac


8、循环
   bah 中 有三种循环,分别是 for 循环、while循环 和 until循环。

for   自定义变量 in  变量1  变量2  变量3  ......
do
    命令
done
PS:依次将变量1、变量2、变量3赋值给自定义变量执行 命令,直到变量列表全部赋值完毕。

while  [  条件  ]
do
    命令
done
PS:当条件为真,执行命令,直到条件为假才退出循环

until  [  条件  ]
do
    命令
done
PS:跟while恰好相反,当条件为假,执行命令,直到条件为真才退出循环

9、continue  语句 和 break 语句
以上两个都是为了跳出循环。
continue作用是跳出本次循环,但还是接着执行当前的循环语句。
break作用是跳出循环体,继续循环体后面的语句。


10、exit 命令
结束本脚本文件的运行,一般用于退出脚本时使用。

11、函数:主要是解决重复的代码
function   函数名 ()
{
        命令 1
        命令 2
}

#!/bin/bash
shopt -s  extglob
rm -rvf bbb/!(ccc|ddd)
阅读更多
文章标签: shell 脚本
上一篇安装Linux => ubuntu文档
下一篇android 版本信息 8.0Go版本
博主设置当前文章不允许评论。

shell-启动应用程序的脚本

2011年07月13日 407B 下载

Shell脚本内部资料

2010年10月15日 3KB 下载

shell脚本基础入门

2017年09月12日 169KB 下载

Shell脚本专家指南

2011年04月10日 14.86MB 下载

shell脚本入门

2018年03月08日 608KB 下载

linux-order

2018年01月24日 204KB 下载

java调用shell脚本

2010年10月29日 120KB 下载

shell 基础学习

2009年08月23日 725KB 下载

Shell脚本学习指南 part1

2011年07月24日 19.07MB 下载

Shell脚本学习指南中文

2017年09月04日 31.58MB 下载

没有更多推荐了,返回首页

关闭
关闭