码迷,mamicode.com
首页 > 系统相关 > 详细

Linux小课堂开课了(6)

时间:2019-06-13 15:38:21      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:command   算术运算   shell   bash   替换   单个字符   one   mamicode   单引号   

学习bash shell基础知识
Bash shell 脚本的第一行是以#!开头,执行bash shell脚本前,需要修改其文件权限和所有权,使其变为可执行文件,使用chmod和chown相应修改文件的权限和所有权。
使用echo进行输出。使用转义字符\(取消单个字符的特殊含义),单引号’’(保留字符的字面值),双引号””(不保留美元符号$,,反引号’’,反斜杠\的字面值)
[root@localhost ~]# echo # hello

[root@localhost ~]# echo # hello

hello

[root@localhost ~]# echo ‘hello‘
Hello
[root@localhost ~]# echo "‘hello‘"
‘hello‘
使用变量,变量名称通常是大写字母,它们可以由数字、字母(大写和小写)和下划线字符_组成,但是不能以数字开头。等号=为变量分配值,不能使用空格将其与变量名称或值分隔开。
变量中存储的两种常见数据类型是整数值和字符串值,为变量分配字符串值时,建议用引号将其括起,避免bash将空格字符解释为单词分隔符。
扩展变量,在变量名称前面加上美元符号$,来重新调用变量的值。
命令替换,将命令的调用替换为执行命令后的输出,可以将命令括在反引号的中的旧形式来调用命令替换,如’<COMMAND>’,但是,首选方法是使用最新的$()语法,$(<COMMAND>)。
算术扩展,执行简单的整数算术运算,用$[]括起时,算术表达式将由bash进行求值,然后替换为求值结果,使用语法$[<EXPRESSION>].
常用的算术表达式的部分运算符及其含义
<VARIABLE>++ 变量后置递增
<VARIABLE>- - 变量后置递减
++<VARIABLE> 变量前置递增
--<VARIABLE> 变量前置递减
一元减法( -)
一元加法 (+)
求幂 ( *)
加法 (+) 减法 -(-) 乘法 (
) 除法 (/) 求余 (%)
使用for循环,循环按顺序逐一处理<LIST>中提供的项目,并且在处理列表中的最后一个项目之后退出。
for <VARIABLE> in <LIST>; do
<COMMAND>
...
<COMMAND> referencing <VARIABLE>
done
使用条件句和控制结构优化bash shell 脚本
二进制比较运算符用于整数比较
-eq 等于 [“$a” –eq “$b”]
-ne 不等于 [“$a” –ne “$b”]
-gt 大于 [“$a” –gt “$b”]
-ge 大于等于 [“$a” –ge “$b”]
-lt 小于 [“$a” –lt “$b”]
-le 小于等于 [“$a” –le “$b”]
二进制比较运算符用于字符串比较
= 等于 [“$a” = “$b”]
== 等于 [“$a” == “$b”]
!= 不等于 [“$a” != “$b”]

使用条件语句if/then
if <CONDITION>; then
<STATEMENT>
...
<STATEMENT>
fi
使用if/then/else语句
if <CONDITION>; then
<STATEMENT>
...
<STATEMENT>
else
<STATEMENT>
...
<STATEMENT>
fi
使用if/then/elif/then/else语句
if <CONDITION>; then
<STATEMENT>
...
<STATEMENT>
elif <CONDITION>; then
<STATEMENT>
...
<STATEMENT>
else
<STATEMENT>
...
<STATEMENT>
fi
使用case语句
case <VALUE> in
<PATTERN1>
<STATEMENT>
...
<STATEMENT>
;;
<PATTERN2>
<STATEMENT>
...
<STATEMENT>
;;
esac
实践一下
创建一个添加用户的脚本
[root@localhost ~]# vim user.sh
#!/bin/bash
if [ $# -eq 0 ]; then
echo ‘请提供参数‘
exit 1
fi
if [ ! -f $1 ]; then
echo ‘不存在‘
exit 1
fi
while read line
do
useradd -s /bin/fales $line
done < $1
技术图片
[root@localhost ~]# chmod +x user.sh
创建一个用户名文件userlist
a
b
c
d
e
d
f
[root@localhost ~]# sh user.sh
请提供参数
[root@localhost ~]# sh user.sh aaa
不存在
[root@localhost ~]# sh user.sh userlist
useradd: user ‘d‘ already exists
[root@localhost ~]# cat /etc/passwd
技术图片

未完,待续~

Linux小课堂开课了(6)

标签:command   算术运算   shell   bash   替换   单个字符   one   mamicode   单引号   

原文地址:https://blog.51cto.com/11293100/2408437

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!