shell整理

来源:互联网 发布:js 添加tr td 编辑:程序博客网 时间:2024/05/16 16:15
 

[]:代替test

注意括号前后加空格

[ -x file]

脚本文件

Sh 脚本文件

./脚本文件

$#:参数的总得数量

$*: 显示所有的参数

$1:各个参数

$2…$9

9)流程控制结构

If:

  If 条件

 Then

执行命令

Elif 条件

Then

   。。。

Else

  。。。

File5.sh

执行命令的状态也可以当做条件

$?---

内核通过接受命令退出时返回的数字,判断exit100

测试接受参数清款

  如果接受的参数小于3个,提醒

  如果大于3个,显示参数

   接受参数可以当条件

  环境变量也可以当条件

如果是root

Case 语句

语法

Case 值 in

模式1)

    命令1

    。。。

     。。。。

      ..

      ,,

模式2)

Ease

提醒:模式里可以使用

#!/bin/bash

echo -n "please input a number from 1 to 5:"

read num

case $num in

1)

echo "you enter nubmer 1"

;;

2)

echo "you enter number 2"

;;

3)

echo "you enter number 3"

;;

4)

echo "you enter number 4"

;;

*)

echo "error"

exit 1

;;

Esac

#!/bin/bash

for file in `ls -l`

do

echo $file

done

 

 

until

until 条件

   命令。。。。。

 

 

shell是一个命令语言解释,拥有自己一系列的shell指令集,同时shell还能被系统中其他进行进行所调用。用户使用linux操作系统过程中,在提示符下输入的命令都由shell先解释后传给linux核心。
shell的变量:shell脚本中变量,可以任何时候通过赋值来创建。甚至赋值操作(=)右边为空也可以
语法:
变量名=<值>
注意:赋值操作符“=”两边必须不能有空格。
例如:
新建一个shell脚本
# vi /shell/file1.sh
--------------------
#!/bin/bash
echo "hello"
echo "world"
var1=hello
var2=world

--------------------
read ---从键盘输入的值来控制脚本运行
read 变量
例如:
# read name
# echo a
# 2
# echo $a
# 2
--------------------


数值运算
shell不支持数字变量,所有变量都被作为字符串来处理,但是有时是需要使用变量参与数学运算的
参与运算的操作符有“+”加、“-”减、“*”乘、“/”除,因为“*”乘符号同时具有通配符的作用,所有“*”符时需要在前面增加转义符号“\”。例如:expr 3\* 4
该运算符号两边必须有空格
例如:
--------------------
# expr 100 + 300
400
--------------------
# VAL1=300
# VAL2=3
# expr $VAL1 / $VAL2
100
# expr $VAL1 \* $VAL2
900
--------------------


脚本流程分支结构
if结构 
if(判断语句)
then
<语句>
fi
例如:vi file2.sh
-------------------
#!/bin/bash
echo -n "donyou understant?(1/0)"
read name
if test $name -eq 1
then
echo "good!"
fi
:wq 保存退出
-------------------


case .....esca结构
case 变量 in
value1)
   echo 语句
   ;;
value2)
   echo 语句
   ;;
value3)
   echo 语句
   ;;
value*)
  echo 语句
   ;;
esac
例如:vi file3.sh
-----------------
#!/bin/bash
echo -n "entera word:(good bad)"
read val
case $val in
good)
 echo "100"
 ;;
bad)
 echo "50"
 ;;
*)
 echo "it is not a good nor a bad
 ;;
esac
:wq 保存退出

原创粉丝点击