linux学习第二阶段

脚本:可以执行的一个文件,实现某种功能。
脚本组成:

  1. #!环境声明
  2. 注释文本

  3. 可执行代码
    例一、编写hello .sh问候脚本,运行脚本显示
    hello world
vim  /root/hello.sh

编写脚本:

#!/bin/bash
echo  Hello World 

赋予执行权限

chmod  +x  /root/hello.sh 

运行脚本

/root/helloworld.sh 

Hello World
例二、编写sysinfo系统信息报告脚本
编写脚本:

vim /root/sysinfo.sh
#!/bin/bash
cat  /etc/redhat-release
uname  -r
hostname 

赋予执行权限

chmod  +x  /root/sysinfo 

脚本技巧:
1管道 |
2重定向输出: >只收集前边命令的正确输出、
2>只收集前边命令的错误输出、
&>收集前边命令的正确和错误输出
单引号 ‘’ 取消特殊字符意义
反撇号 `与 $() 将命令的输出,作为参数直接参与下一个命令的运行

创建一个以年-月-日结尾的目录:

mkdir nsd -`date +%F`
mkdir nsd -$(date +%F)

创建脚本:

vim /root/user.sh
#! /bin/bash
read -p ‘请输入您要创建的用户名:’ a
read -p ‘请输入您要创建的用户密码:‘  b
a=nsd07
useradd  $a &> /dev/null
echo 用户$a创建成功
echo $b | passwd --stdin $a &> /dev/null
echo 用户$a密码设置成功
chmod +x /root/user.sh
/root/user.sh

read -p: 产生交互;
记录用户的键盘输入;
将记录的信息赋值给一个变量存储
变量名 只能有字母数字下划线组成,区分大小写。不能以数字开头,等号两边不允许有空格。

查看变量值:

echo $a  
echo ${a}

变量种类:1 环境变量 -系统定义并赋值(一般变量名大写)
USER=当前登陆的用户名

echo $USER

2位置变量 -由系统定义并赋值,
$1 $2 $3 $4

vim /root/1.sh
#! /bin/bash
cat -n $1 | head -$2
chmod +x /root/1.sh
/root/1.sh  /etc/passwd  4

3预定义变量
KaTeX parse error: Expected 'EOF', got '#' at position 1: #̲ 已加载的位置变量的个数, …# 为0时,说明用户没有输入参数
$? 程序退出后的状态值,0表正常。其他异常
[ 测试表达式 ] 左右必须有空格
检查文档状态:
-e 文档存在才为真
-d文档存在,且为目录才为真
-f文档存在,且为文件才为真

比较整数大小:
-gt -ge -eq -ne -lt -le

字符串比较:
==一致才为真
!=不一致为真

if 双分支:
if [条件测试] ; then
命令序列xx
else
命令序列yy
fi

vim /root/if01.sh
#! /bin/bash
read -p ‘请输入您要创建的用户:’  a
id $a &> /dev/null
if [ $? -eq 0 ];then
echo $a 存在
else
echo $a 不存在
fi
chmod +x /root/if01.sh
/root/if01.sh  tt

if多分支

if [ 条件测试1 ];then
命令序列xx
elif [ 条件测试2 ];then
命令序列yy
else
命令序列zz
fi

vim /root/if02.sh
#! /bin/bash
read -p ‘请输入您的成绩:’ num
if [ $num -ge 90 ];then
echo 优秀
elif[ $num -ge 80 ];then
echo 良好
elif [ $num -ge 70 ];then
echo 一般
elif [ $num -ge 60 ];then
echo 合格
else
echo '一首凉凉送给你'
fi
chmod +x /root/if02.sh
/root/if02.sh   85

列表循环(反复执行的操作)
for循环:
for 变量名 in 值列表
do
命令序列
done

#!/bin/bash
for a in zhangsan lisi dc dtt 
do
useradd $a &> /dev/null
echo $a创建成功
done

造数工具:{1…10}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值