linux学习-----shell基础
shell基础
1.什么是shell
shell是一个C语言开发的程序 他是用户使用linux的桥梁
既是一个命令语言
一种应用程序 这个应用程序提供了一个界面 用户通过这个界面访问操作系统内核的服务
又是一种程序设计语言
2.什么是脚本
脚本就是一条条的文字命令 这些命令是可以看得到的
常见脚本 JS PHP JSP SQL PHTHON PERL SHELL RUBY JAVAFX
3.shell的优点:
linux内置的脚本
程序开发效率高(批处理)
语法简单易学
4.常见的shell种类
linux中默认的shell是 /bin/bash(重点)
ksh tcsh(csh增强版) zsh(linux中最庞大的一种shell 用起来复杂)
5.shell入门
编写规范
1.代码规范:
#!/bin/bash 指定告知系统当前脚本要使用的shell解析器
Shell相关指令
2.文件的命名规范:
文件名.sh
使用流程:
1.创建一个shell文件
2.编写shell代码
输出命令:echo
注意 输出的内容包含字母和符号 则需要用引号包起来
3.执行shell脚本 脚本必须要有执行权限
运行的时候一定要写成./test.sh 告诉系统在当前目录下查找
shell分为简单的写法(简单命令的堆积)和复杂的写法(程序的设计)
shell进阶
1.变量
在一个脚本周期内 值可以发生变化的量就是变量
使用变量的时候 要在变量名前面加上$符号
2.变量名规范:
1.等号左右不能有空格
2.变量名中间不能用空格 可以使用“_”
3.不能使用标点符号
4.不能使用bash中关键字
3.只读变量
readonly 变量名
变量定义好之后 只能被读 不能被修改
4.接受用户输入
语法: read -p 提示信息 变量名
5.删除变量
语法:unset 变量名
当为指令设置变量的时候 对于指令要用反引号括起来
2.条件判断
语法一:
if condition
then
command1
fi
单行写法: if[condition]; then command; fi
语法二
if condition
then
command1
else
command2
fi
语法三
if condition
then
command1
elif condition
then
command2
else
command
fi
3.运算符
1.算数运算符
原生的bash不支持简单的数学运算 但是可以通过其他命令来实现 如expr
实例:
2.关系运算符:
3.逻辑运算符
4.字符串运算符
5.文件测试运算符(重点)
用于检测unix/linux文件的各种属性
4.shell脚本的附带选项
问题 在linux shell中如何处理tail -10 access.log这样的命令选项
步骤:
1.调用tail指令
2.系统把后续的选项传递给tail
3.tail先去打开指定的文件
4.取出最后10行
问题:自己写的shell是否也可以向内置命令一样传递一些选项呢
答 可以 传递
#./test.sh a b c
接收
在脚本中可以用“$1”来表示a “$2”来表示b 。。。。。
测试 :编写test4.sh 传递a b c