lishaokang 2020-06-21
变量 表达式 判断语句 If表达式
mkdir test
cd test/
vim example01.sh
#!/bin/bash
等于#!/bin/sh
(#!跟shell命令的完全路径。 作用: 显示后期命令以哪种shell来执行这些命令, 可用which bash查看绝对路径, 如果不指定shell,以当前shell作为执行的shell)
如果想以其他shell执行, 需写到绝对路径上 cat /etc/shells
例如: 想写php脚本可用: #!/bin/php后期会以php来执行下面的命令
echo "our first example"
chord +x example.sh
./example.sh
使用 chmod u+x
变量是shell传递数据的一种方法。变量是用来代表每个值的符号名。
例: x = 3 (x就是变量)
例:环境变量: echo $PATH
用作运行某个命令的时候,本地查找不到某个命令或文件,会到这个声明的目录中去查找。(which ls去查找)
例:1VAR是非法变量
例: A=aaa (A = aaa会提示command not found)
将一个命令的执行结果赋给变量:
“`
A=date
echo $A
“`
“`
B=$(ls -l) === ls l
echo $B
A=$B
Echo $A
“`
“`
B=mon
echo Today is $mon day
echo Today is ${mon}day
“`
set | grep DAY
单引号之间的内容原封不动的指定给变量。
双引号取消了空格的作用,特殊符号的含义保留。
unset NAME
位置变量 : shell执行解释执行用户的命令时,将命令行的第一个字作为命令名,而其它字作为参数。由出现在命令行上的位置确定的参数称为位置参数。
位置变量: 使用$N 来表示
$0 $n这个程序的第n个参数值 n=1…n
特殊变量: 不能被修改。一执行程序时就有了,由以下特殊变量
Read: 作用:从键盘中读入数据,赋值给变量
expr: 作用shell变量的算数运算(整数型变量进行算术运算)
语法: expr.表达式 (运算符之间要有空格)
var1 = 8
var2 = 7
expr $val / 2(结果是4)
$var1 + $var2`
test str1 == str2 是否相等
test str1 != str2 是否不相等
test str 测试字符串是否不空
test -n str 测试字符串是否为空
test -z str 测试字符串是否为空
test int1 -eq int2。等于
test int1 -ge int2。>=
test int1 -gt int2。>
test int1 -le int2。<=
test int1 -lt int2。<
test int1 -ne int2
可以省略test : [int1 -lt init2]
test -d file 测试是否为目录
test -f file 文件
test -x file 可执行
-r 可读
-w 可写
-e 文件是否存在
-s 是否是空文件
说明: 省略test : [-x file]
===== 流程控制 ====
If 条件 then 语句1 ( else 语句2 ) fi
扩展;分号表示两个两个命令写在一行互不影响
多条件
-a 或 && 逻辑与 -o 或 || 逻辑或