今日主要学习shell以及linux的一些命令
shell是解释型语言,一边翻译一边执行 擅长文件处理,操作系统管理
开发效率高 cp 1 2 执行效率低 移植性好
.c 编译型语言 先编译再执行 擅长数据计算和数据处理 开发效率低
执行效率高 移植性差
shell脚本编写流程:
1.vim XX.sh #!/bin/bash
2.编写脚本
3.chmod +x XX.sh(或者chmod 777 XX .sh)
4. ./XX.sh
2.shell变量
1.环境变量: env
PATH:保存当前工作的默认路径
PWD:当前所在的工作路径
HOME:当前登录用户的家目录
...
main(int argc,char* argv[])
2.位置变量: ./3.sh /etc/passwd 123 456 内置变量
$0:脚本文件名
$1:传入脚本的第一个参数
$2:传入脚本的第二个参数
...
$9:
cp /etc/456 ./
$#:传入参数的个数
$?:上一句shell命令执行的结果
$$:当前shell的PID
a=123
3.shell脚本输入输出
read a
echo '$a'
a+b;
4."":打印字符串,遇到$变量则打印变量中的值
'':打印字符串,遇到$变量依然打印$变量
``:将中间的字符串按照命令打印
分支语句:
1.if语句
if 条件
then
语句
else
语句
fi
if
then
elif []
then
elif []
then
else
fi
if []
then
fi;
man test
-a and
-o or
test -eq 相等 test 10 -eq $i [ $i -eq 10 ] if( a == 10)
-ne 不相等
-gt 大于
-lt 小于
-ge 大于等于
-le 小于等于
[ $i ge 0 -a $i lt 59 ]
test
-b 块设备文件 test -b /dev/usb0
-c 字符设备文件
-d 目录文件
-f 普通文件
-L 链接文件
-S 套接字文件
-p 管道文件
2.case
case $num in
9)语句
;;
8|||)语句
;;
7)语句
;;
*)语句
;;
esac
while循环语句
while [ 条件 ]
do
语句
...
done
for语句
until
do
。。。
done