给大家带来shell剧本使用及轮回语句
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!Shell剧本使用及轮回语句一.bash通配符:
1.?//恣意的单个字符
2.*//0个或多个字符
3.[]//区间内的恣意一个字符
4.;//支解下令,疏忽前一个下令的实行了局,持续实行前面的下令
5.&//背景实行步伐
6.&&//后面的下令实行乐成,前往值是0,实行前面的下令。
7.||//后面的下令实行失利,前往值非0,实行前面的下令。
8.|//管道
9.()//开启子shell,实行内里的下令
10.{}//内里的下令在以后shell实行
11.>>>//输入重定向
12.<<<//输出重定向
13.$//界说变量
14.//本义;下令的折行
15.``//挪用下令的实行了局;不成以嵌套
16.-//连字符;下令的选项的前导,---
17.//强援用标记;屏障特别字符
18.""//弱援用标记;``$这3个标记屏障不了
19.://暗示空操纵,前往值永久是0;while轮回
20.[:alnum:]//字母+数字
21[:alpha:]//字母
22[:lower:]//小写字母
23[:upper:]//年夜写字母
24[:digit:]//十进制数
25[:punct:]//标记
26[:space:]//空缺字符(空格“tab”)
27[[:alnum:]]//恣意的一个字母或数字
28[^[:alnum:]]//取反
[[:alnum:]!]
二.变量
1.注重
(1)=的双方万万不要有空格
(2)不要利用$作为变量的名字
(3)变量名的长度--256个字符,辨别巨细写
2.怎样援用
(1)间接援用:
echo下令
-e:启用(反斜线)把持字符(
)的转换
-n:作废换行符
#echo"123 234"
123 234
#echo-e"123 234"
123234
#echo-e"123
234"
123
234
#echo-n"123 234"
123 234#
(2)直接援用
#a=b
#b=c
#echo$a
b
#echo${!a}
c
(3)变量的感化域
@1在以后的shell里,界说的变量叫做当地变量-部分变量。
@2全局变量-情况变量,export把部分变质变玉成局变量。只感化于子shell。
#x=123
#echo$x
123
#bash
#echo$x
#exit
exit
#exportx
#bash
#echo$x
123
(4)检察界说的变量
@1.set检察一切的变量
@2.env检察全局变量
@3.unset作废变量unset+变量名
@4.设置变量为只读:readonly+变量名
(5)地位参数$
注:地位参数,从下令行传送给剧本,大概是传送给函数.大概赋职给一个变量.
$0下令自己
$1$2......${10}
$#参数的个数
$*一切的参数
$@一切的参数(必要被””援用)
$$上一条下令的历程号
$?上一条下令的前往了局
$_上一条下令的最初一个参数
$!最初一个进进背景的下令的历程号
$()同等于``
$(())同等于$[]做数学运算的,可是只能算整数
(6)变量的置换
注:用来实行婚配大概是判别变量是不是存在。
@1.${变量名:-字符串}:假如变量是空的,那末就前往字符串;不然前往变量的值
@2.${变量名:+字符串}:假如变量有值,那末利用字符串交换变量;不然前往空值
@3.${变量名:=字符串}:假如变量没有值,那末就把字符串赋值给变量;不然前往变量的值
@4.${变量名:?提醒信息}:假如变量没有值,那末前往提醒信息
@1.
#echo$a
#echo${a:-123}
123
#b=abc
#echo${b:-123}
Abc
@2.
#echo${a:+123}
#echo${b:+123}
123
@3.
#echo$a
#echo$b
abc
#echo${a:=123}
123
#echo$a
123
#echo${b:=123}
abc
#echo$b
Abc
@4.
#unseta
#echo${a:?}
bash:a:parameternullornotset
#echo${a:?没有设置变量}
bash:a:没有设置变量
(7)变量的婚配形式
#:从变量的值的头部入手下手最小婚配,然后删除
##:从变量的值的头部入手下手最年夜婚配,然后删除
%:从变量的值的尾部入手下手最小婚配,然后删除
%%:从变量的值的尾部入手下手最年夜婚配,然后删除
:num1:num2:截取变量的值,num1是入手下手的地位,num2是截掏出来几位;0是第一个字符
@1.
#echo${pth#*/}
usr/bin/local/bin/all
#echo${pth##*/}
all
@2.
#echo${pth%/*}
/usr/bin/local/bin
#echo${pth%%/*}
#
@3.
#echo${pth:0:6}
/usr/b
#echo${pth:3:6}
r/bin/
三.If语句
1.单分支if语句.
if[前提表达式];then
下令;...
fi
注:前提满意的时分,就会运转then前面的语句,不满意就间接加入判别语句
2.双分支if语句
if[前提表达式];then
下令;...
else
下令;...
fi
注:等前提满意的时分就会运转then前面的语句,前提不满意的时分就运转else前面的语句。
3.前提表达式(mantest)
(1)字符串的判别
str1=str2反省str1与str2是不是不异
str1!=str2反省str1与str2是不是分歧
str1<str2反省str1是不是小于str2
str1>str2反省str1是不是年夜于str2
-nstr1反省str1的长度是不是年夜于0
-zstr1反省str1的长度是不是为0
=~:判别右边的字符串是不是可以被右侧的形式所婚配,[["$opt1"=~pattern]],注:判别字符串的时分,字符串要用""包起来(更具体的mantest)
(2)整数的判别
-eq即是
-ge年夜于即是
-gt年夜于
-le小于即是
-lt小于
-ne不即是
(3)文件的判别
-bfile判别是不是存在且为块文件
-cfile判别是不是存在且为字符文件
-dfile判别是不是存在且为目次文件
-efile判别文件是不是存在
-ffile判别文件是不是存在且为一个一般文件
-hfile判别是不是存在且为标记链接
-rfile判别是不是存在且可读
-sfile判别是不是存在且不为空
-wfile判别是不是存在且可写
-xfile判别是不是存在且可实行
-Ofile判别是不是存在且用户为以后用户
-Gfile判别是不是存在且组为以后组
(4)前提语句
与-a
if[表达式1-a表达式2]
或-o
if[表达式1-o表达式2]
非!
if[!表达式]
注
[[表达式1&&表达式2]]==-a
[[表达式1||表达式2]]==-o
[[!表达式]]==!
if表达式
then
command
elif表达式
then
command
elif表达式
then
command
......
else
command
fi
(5)多重判别
例1.
注:read-p
-t超不时间-t3(秒)
-s输出没有回显,(暗码)
#vimtx1.sh
#!/bin/bash
#这是一个判别文件范例的剧本
if[-b/dev/hda1]
then
echo"块装备"
给大家带来shell剧本使用及轮回语句
有疑问前,知识学习前,先用搜索。 任何一个叫做操作系统的东西都是这样子构成的:内核+用户界面+一般应用程序。 应对Linux的发展历史和特点有所了解,Linux是抢占式多任务多用户操作系统,Linux最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具。 感谢老师和同学们在学习上对我的帮助。 任何人都可以根据自己的喜好来定制适合自己的操作系统,Linux?是抢占式多任务多用户操作系统. 熟悉系统的基本操作,Linux的图形界面直观,操作简便,多加上机练习就可熟悉操作,在Linux下学习办公软件等常用软件。 放手去搞。尽量不要提问,运用搜索找答案,或者看wiki,从原理上理解操作系统的本质,而不是满足于使用几个技巧。尽量看英文资料。 我学习Linux的心得体会 ,希望对大家的学习有所帮助,由于水平有限,本文难免有所欠缺,望请指正。
页:
[1]