linux shell笔记

1.shell参数

$ chmod+x test.sh 为脚本设置可执行权限

$n 拿到参数

参数个数为:$#

传递的参数作为一个字符串显示:$*(假设在脚本运行时写了三个参数 1、2、3,,则 " * " 等价于 "1 2 3"(传递了一个参数),而 "@" 等价于 "1" "2" "3"(传递了三个参数)。)

2.shell数组

定义my_array=(A B"C"D)

读取${array_name[index]}

数组的元素为: ${my_array[*]}

数组的元素为: ${my_array[@]}

数组元素个数为: ${#my_array[*]}

数组元素个数为: ${#my_array[@]}

3.表达式

`expr 2 + 2`

两点注意:表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2,这与我们熟悉的大多数编程语言不一样。完整的表达式要被 ` ` 包含,注意这个字符不是常用的单引号,在 Esc 键下边。

乘号(*)前边必须加反斜杠(\)才能实现乘法运算;

条件表达式要放在方括号之间,并且要有空格,例如:[$a==$b]是错误的,必须写成[ $a == $b ]

在 MAC 中 shell 的 expr 语法是:$((表达式)),此处表达式中的 "*" 不需要转义符号 "\" 。

-eq 等于 -nq 不等于  -gt 大于 -lt 小于 -ge 大于等于 -le 小于等于

! 非 -o 或 -a 与

&& and || or

字符串运算符:= 相等 != 不等 -z 长度为0 -n 不为0 str 为空

文件测试运算符

4.echo命令

5.printf format-string [arguments...]

%-10s 指一个宽度为10个字符(-表示左对齐,没有则表示右对齐),任何字符都会被显示在10个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来。

%-4.2f 指格式化为小数,其中.2指保留2位小数。

6.test 命令

7.流程控制

条件:

if condition1

then command1

elif condition2

then command2

else commandN

fi

循环:

for var in items

do commands

done

while循环:

while condition

do command

done

until循环

until condition

do command

done

case 值 in

模式1) 

command1

;;

模式2)

command1

;;

esac

break命令 跳出整个循环

continue 跳出当前循环

8.函数

9./dev/null2>&1不输出

10.文件包含 

. filename

source filename

你可能感兴趣的:(linux shell笔记)