shell脚本也是一门语言
概念
shell是一种解释性的脚本语言
shell脚本里可以写shell内的指令,也可以写linux的系统指令
他可以按照shell脚本里的命令顺序批量处理这指令
在Linux里的作用就是保护内核以及让用户和系统交流的一个工具
windows系统中用户与内核的交流也是通过shell指令,他也是用户与内核沟通的桥梁;
shell语句编程
(1)首先建立一个shell编程文件
可以用的指令:
vim xx.shtouch xx.shecho > xx.shgedit xx.sh
(2)运行环境的配置说明
#!/bin/bash //声明shell类型 bash shell
(3)脚本语句编写
shell命令+系统命令 (注释行以#开头)
例如:
#!bin/bashecho -e \"hello world\"echo -e \"hello\\b world\"echo -e \"hello world\\c\"echo -e \"hello world\"echo \"当前路径:\"pwd
(4)设置文件的可执行性
新建立的shell脚本是没有可执行性的(x),必须赋予权限,这里用chomd命令
chmod +xxx.sh
或者
chomd 777 xx.sh
(5)执行脚本
./xxx.sh
或者
. xx.sh
变量的定义
shell编程语言里变量没有类型之分
不像C语言有int char float double等等
在shell里变量直接定义直接使用,但使用的时候要加$
(1)直接定义 str=hello //等号两端不能有空格
(2)双引号定义 str=“hello” //保留特殊字符的含义
(3)单引号定义 str = ‘hello’ //去除特殊字符的含义
特殊变量
$0 命令本身$1 $2 ....$n //取命令行参数$@//取所有的参数,不包括第0个$? //判断上一条命令是否执行成功,成功打印0 失败打印非0$#//传递参数的个数,不包括第0个$$//显示当前的进程号c语言int a=10;//变量,后边可以对a进行赋值操作const int a=10;//常量后边不能再对a进行赋值
输入
read num ##输入num
readonly num=5 #定义只读变量num
输出
echo就标准输出的意思
命令重定向
> 代表输出重定向(它是覆盖原来的内容)
echo hello >1.txt
这里的echo表示将hello这个字符串写到1.txt文件里,如果1.txt不存在,那么就创建一个新的1.txt文件,并且将内容写入文件如果1.txt存在并且里边有内容,那么命令将清除文件里的内容,(覆盖原来的内容).>>输出重定向(不覆盖原内容,追加)
echo world >>1.txt
这里的echo表示将world这个字符串写到1.txt文件里如果1.txt不存在,那么就创建一个新的1.txt文件,并且将内容写入文件如果文件里存在并且里边有内容,那么他写的内容追加到文件内容的后边不会覆盖原来的数据