shell编程基础

1、创建脚本、运行

(1)创建

vi、gedit编写脚本
注:首行 #! /bin/bash 告诉系统此脚本的解释器为/bin/bash

(2)运行

./ shell脚本名  
sh shell脚本名 
. shell脚本名 
2、shell变量

(1)自定义变量

 变量名=变量值
注:=两边无空格  获取变量的值:$变量名

(2)参数位置变量

$0、$1、...、$9
shift [n]
位置参数左移n位,不带参数默认左移1位 ==>防止参数大于10个

(3)特殊变量

$#:传递给脚本参数的个数
$*:参数的集合
3、输入、输出

(1)read

read var

(2)echo

echo $var

(3)export

将父脚本中的变量导入到子脚本中
father.script    son.script
export var       echo var
sh son.script
4、逻辑判断

(1)条件测试

  a、test 条件表达式
  b、[ 条件表达式 ]

注: [ ] 前后都有空格

(2)比较
a、字符串比较

string1 = string2  #相等,返回真
string1 != string2 #不相等,返回真
-n string   #不空,返回真

注: = != 两边均有空格 $str
b、算数比较

expression1 -eq expresssion2    #==
expression1 -ne expresssion2    #!=
expression1 -gt expresssion2    #> greater than
expression1 -ge expresssion2    #>= greater equal
expression1 -lt expresssion2    #< less than
expression1 -le expresssion2    #<= less equal

c、文件测试

-d file #文件夹
-f file #文件
-s file #文件长度>0
-r file #可读
-w file #可写
-x file #可执行

d、逻辑运算

大致与c语言相同
AND:&&
OR:||
eg: if [ .. ] && [ .. ]
5、算数运算

(1) $(())

在括号内进行数学运算,eg: c=$((a+a*b-b)) #num
若:c=num+num,此时c为num + num的字符串
可用于命令窗口、脚本

(2)let

只能用于命令窗口,不能用于脚本
6、控制结构

(1)if


shell编程基础_第1张图片

shell编程基础_第2张图片

(2)for


shell编程基础_第3张图片

shell编程基础_第4张图片

(3)while


shell编程基础_第5张图片

shell编程基础_第6张图片

(4)break、continue

同c语言中的break、continue

你可能感兴趣的:(shell编程基础)