shell脚本基础语法 Shell脚本编程常用语法基础(一)
Shell脚本基本语法(一)
1.第一个shell脚本:
在/home路径下新建一个目录,用于存shell脚本文件(因为/home通常用来存放用户数据,自定义的一些文件目录等。) 创建一个目录mkdir 目录名;创建/更新一个文件touch 文件名。shell脚本文件后缀为.sh.
2.脚本格式:
以#!/bin/bash开头【指定解析器】,可以通过如下命令查看:默认使用bash
vim编辑器下的shell脚本文件内容,[esc命令模型下,shift + zz保存并退出]
3. 执行脚本
(1) 执行shell脚本文件通过指令[sh xxx.sh]或者[bash xxx.sh],sh或者bash指令可以执行绝对路径下的脚本文件,例如:
[sh /home/shell_dir/helloworld_shell.sh]
(2)[./ xxx.sh] 执行脚本:
权限不够,没有可执行权限【因为通过sh或者bash去执行,是sh或bash解释器帮助去调用执行shell脚本基础语法,但./表示自己调用执行自己,需要可执行权限】
4. 在shell脚本里写多条命令
demo如下:
[>>]命令表示重定向
就是在shell脚本中写逻辑和指令的集合,然后执行shell脚本,实现功能。
5.shell中的变量:
(1)系统变量:$HOME、$PWD、$SHELL、$USER等。
(2)自定义变量:变量名=值。$用来取变量的值。
注意:等号两边不能有空格。
撤销变量:[unset 变量名]
(3) 声明一个静态变量:[readonly 变量名].注意:静态变量不能unset, 重启虚拟机就消失了。
自定义变量命名规则:字母,数字,下划线。不能以数字开头。变量名建议大写。
在bash中,变量默认类型是字符串类型,无法直接进行数值运算。
变量的值如果有空格,需要用单引号或者双引号括起来。
可把变量提升为全局变量,可供其他shell程序使用。[export 变量名]
(4) 特殊变量:
①$n n为数字,0表示文件名,1~9表示参数,10及10以上的参数用{}括起来。
②$# 获取所有输入参数的个数
③$* 获取所有参数,一次性获取
④$@ 获取所有参数,一个一个获取
⑤$? 的值表示的是最后一次执行的命令的返回状态辅助论坛,如果值是0,表示上一条语句执行正确;如果非0(具体哪个数值由命令决定),说明上一条命令不正确。
6.运算符:
(1) $((运算式))或$[运算式];(2) expr 运算式;加+减-乘*除/取余% 【注意:expr要求数与运算符间有空格】
混合运算
如果使用括号运算,数字与运算符之间不用空格,并且乘是*,expr是\*。
7.条件判断:
(1)语法:[ condition ] 注意:condition前后要有空格shell脚本基础语法,conditon非空返回true,空返回false.
(2)两个整数之间的比较:= 比较字符串;-lt 小于less than;-le 小于等于less equal;-eq 等于equal;-gt 大于greater than;-ge 大于等于greater equal;-ne 不等于not equal
(3)文件权限的判断:-r 读权限read;-w写权限write;-x可执行权限execute
(4)文件类型的判断:-f 文件存在并是一个常规文件file;-e文件存在existence;-d文件存在并且是一个目录directory
(5)多条件判断:逻辑与&&,逻辑或||
来源:【九爱网址导航www.fuzhukm.com】 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!