linux学习之shell脚本初级

一、 简单介绍
shell指的就是人机交互平台。常见的有IBM的ksh,HP的csh,windows的powershell以及linux的bash shell。

首先养成良好的习惯,通过#echo $SHELL命令可以查到默认shell。在脚本的开头加上声明。

如图,查询出的默认shell为/bin/bash,所以一般在脚本开头加上一行如下声明

#!/bin/bash
####其中,#!代表声明,如果只有#,则代表注释

单引号:遇到任何特殊字符都是原样输出
双引号:遇到特殊字符会转义后输出

二、 常见功能

  1. 定义变量
DIR=/backup/
DIR=”/backup/”
A=100
a=100
B=200
C=A+B

定义完之后使用echo $C命令可以查看具体变量的值。

$(command),可以引用命令执行的结果
例如:

CPU=$(df -h|grep -w / |awk{print $5}|sed ‘s/%//’)
if [$CPU” -ge 80 ]; then
	echo “warning,CPU is full”
else
	echo “cpu is safe”
fi

******注意:if后面一定要加空格,不然会出现语法错误。

  1. 判断命令执行的结果
command1 && command2
##如果命令1执行成功了则执行命令2,反之则不执行命令2 
command1 || command2
##如果命令1执行失败则执行命令2,反之则不执行命令2

或者用 echo $?来查询命令是否执行成功,如果返回值是0代表成功,1-255代表失败。
例如:

for num in $(seq 1 10)
do
hosts=192.168.6.$num
ping -c2 $hosts &> /dev/null
if [$?= 0 ];then
echo$hosts is up”
else
echo$hosts is down”
fi
done
  1. test表达式判断
    可以用main test去查看test的所有用法,这里举两个典型例子。
test -f passwd.1
##判断普通文件passwd.1是否存在

在脚本中可以简写成[ -f passwd.1],或者用[! -f passwd.1]表示反向判断。

  1. if判断
  2. for循环
    例子:
for num in $(seq in 1 10)
do touch /tmp/file.$num && echo “/tmp/file.$num create successful!done
  1. 位置化参数
    $1:取第一个参数
    $2:取第二个参数
    $*:取所有参数
    $0:取脚本文件名
echo firstname:$1
echo lastname:$2
echo fullname:$*

:wq!

#./test.sh wu yequan
firstname:wu
lastname:yequan
fullname:wu yequan

在这里插入图片描述

if [$1= redhat ];then
echo “fedora”
elif [$1= redhat ]; then
echo “redhat”
else
 echo “ERROR,Please reinput”
fi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值