shell命令写入一个文件,就是shell脚本
shell不需要编译,通过解析器解析
echo 输出语句
默认类型字符串, 定义变量 a = “小莫” 定义整型 declare -i a=0;
name
=
"
小明
"
declare
-i
age
=
18
class
=
"
高一三班
"
#
输出变量
echo
$name
echo
$age
echo
$class
注意
:shell
脚本中每个符号都有严格的限制,不能随便
加空格
!!
设置环境变量
HOSTTYPE
=
x86_64
#
平台类型
LANG
=
C.UTF-8
#
编码格式
WSL_DISTRO_NAME
=
Ubuntu-18.04
#wsl
版本
USER
=
gec
#
用户名
HOME
=
/home/gec
#
家目录路径
SHELL
=
/bin/bash
#
解析器路径
PATH
=
/usr/local/sbin
#
所有的系统工具路径
...
上述的都是环境变量,操作系统启动后就自动通
过
shell
脚本设置的运行参数。
可以利用
export
环境命令
=
值 重新设置!
例如
:
设置系统的工具环境变量
export
PATH
=
$PATH
:/usr/local/arm/5.4.0/usr/bin
命令行变量
1
,
$#
:代表命令行参数个数
2
,
$*
:代表所有的参数
3
,
$@
:同上
4
,
$n
:第
n
个参数,比如
$1
即
abcd
,而
$2
就是
1234
5
,
$?
:代表最后一个命令执行之后的返回值
6
,
$$
:代表当前
Shell
的进程号
PID
./main.sh
10
+
20
$#
输出
3
$*
输出
10
+
20
$1
输出
10
$2
输出
+
$3
输出
20
“”号
把某些东西变成一个值
str
=
"hello world"
str1
=
"hello
$str
"
#
在双引号中,引用变量
hello hello world
str2
=
"hello str"
#
直接把
hello str
当作一个值
hello str
‘’号
把数据当作字符串处理
str
=
'hello world'
str1
=
'hello $str'
str2
=
'hello str'
| 号
把数据提交给某个命令使用
echo
"scale=2;3/8"
| bc
0
.37
参
数
scale
=
2
是将
bc
输出结果的小数位设置为
2
位。
abc
=
192
echo
"obase=2;
$abc
"
| bc
执行结果为:
11000000
,这是用
bc
将十进制转换成二进
制。
>
:
把内容重定向到一个文件中,覆盖模式
>>
:
把内容重定向到一个文件中,追加模式
<
:
把标准输入设备重定向到一个文件中
echo
"hello"
>
myfile #
把
hello
覆盖
myfile
里面的所有内容
echo
"hello"
>>
myfile #
把
hello
追加
到
myfile
文件中
ls
-
l
>
myfile #
把
ls
-
l
里面的所有内容
放入文件
控制流
for
(
表达式
1
;
表达式
2
;
表达式
3
){ }
while
(
表达式
){ }
do
{}
while
(
表达式
)
goto
if
test
"123"
=
"123"
#
注意空格问题!!!
then
echo
"
相等
"
fi
if
[
"123"
=
"123"
]
#
注意空格问题!!!
then
echo
"
相等
"
fi
if
[
"123"
=
"123"
]
then
echo
"
字符串相同
"
else
echo
"
字符串不相同
"
fi
if
[
"abc"
=
"abc"
]
then
echo
"
第一个判断为真
"
elif
[
"abc"
=
"123"
]
then
echo
"
第二个判断为真
"
else
echo
"
没有为真的数据
"
fi
case
变量
in
数据
1)
语句
;;
数据
2)
语句
;;
数据
3)
语句
;;
.....
*)
语句
;;
esac
var
=
1
case
$var
in
1
)
echo
"
数据为
1"
;;
2
)
echo
"
数据为
2"
;;
3
)
echo
"
数据为
3"
;;
*)
echo
"
没有当前数据
"
;;
esac
declare
-i
i
=
0
for
i
in
{0..100}
do
echo
$i
done
for
data
in
`ls`
do
echo
$data
done
declare
-i
i
=
0
;
while
[
$i
-lt
100
]
do
echo
$i
i
=
$i
+
1
done
func()
#
定义一个函数
{
echo
$#
#
输出参数的个数
echo
$1
#
输出第一个参数的值
echo
$2
#
输出第二个参数的值
....
echo
$*
#
输出所有的参数值
}
#
在调用函数是 传递参数即可
func abc
123
qwe
sql litle
创建
create table
student
(
name char
(
100
)
,age
int
(
4
)
,id int
(
10
))
;
查找
SELECT
[
DISTINCT
] [
*|
字段列表
]
FROM
[
数据库名
称
]
.
表名
select
*
from
student;
插入
INSERT INTO
表名
(
字段列表
)
VALUES
(
对应字段内容
)
//
往数据库中插入数据 (完整插入)
INSERT INTO
student
VALUES
(
'
小
明
'
,
'18'
,
'1234'
)
;
//
往数据库中插入数据
(
指定字段插入
)
INSERT INTO
student
(
name,id
)
VALUES
(
'
小
芳
'
,
'2333'
)
;
删除
DELETE FROM
表名
where
条件表达式
--
例子
:
删除表格中的小明
delete from
student
where
name
=
'
小明
'
;