Linux小课堂开课了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux小课堂开课了相关的知识,希望对你有一定的参考价值。

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

[[email protected] ~]# echo # hello

hello

[[email protected] ~]# echo ‘hello‘
Hello
[[email protected] ~]# 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
实践一下
创建一个添加用户的脚本
[[email protected] ~]# 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
技术图片
[[email protected] ~]# chmod +x user.sh
创建一个用户名文件userlist
a
b
c
d
e
d
f
[[email protected] ~]# sh user.sh
请提供参数
[[email protected] ~]# sh user.sh aaa
不存在
[[email protected] ~]# sh user.sh userlist
useradd: user ‘d‘ already exists
[[email protected] ~]# cat /etc/passwd
技术图片

未完,待续~

以上是关于Linux小课堂开课了的主要内容,如果未能解决你的问题,请参考以下文章

Linux小课堂开课了

Linux小课堂开课了

Linux小课堂开课了

Linux小课堂开课了-Centos7日常运维管理

Linux小课堂开课了-三线IP刷路由-移动-联通-电信

Linux小课堂开课了(11)-CentOS7配置本地yum源