Shell 从入门到精通(一)

1、脚本的基本格式

新建一个文件vim wenwen,往文件里写如下代码:

#!/bin/bash
echo "wenwen successful!"

给文件权限,执行文件

chmod 755 wenwen
./wenwen

2、脚本的执行方式

每个程序都有自己的解释器,shell的执行方式有以下几种:

sh            //与bash一样,不需要太添加权限,使用解释器直接解释
bash          //不需要添加权限,使用解释器直接解释
./            //需要添加执行权限
#!/bin/bash   //需要添加执行权限,只是为了系统好识别

3、变量

(1)自定义变量

1、定义变量:变量名=变量值
2、引用变量:$变量名 或者 ${变量名}
3、查看变量:echo $变量名
4、取消变量:unset 变量名 作用范围:仅在当前shell中生效

判断IP是否可以ping通

#!/bin/bash
$IP=192.168.1.1
ping -c1 $IP &>/dev/null && echo "ip $IP ok!" || echo "ip $IP error!"
(2)系统环境变量

1、定义环境变量:export 变量名,将自定义变量转化成环境变量
2、引用环境变量:$变量名 或者 ${变量名}
3、查看环境变量:echo $变量名 env | grep name
4、取消环境变量:unset 变量名
5、变量作用范围:当前shell和子shell

export IP=192.168.1.1
#!/bin/bash
ping -c1 $IP &>/dev/null && echo "ip $IP ok!" || echo "ip $IP error!"
(3)位置变量

$1,$2,$3,$4,$5,$6,$7,$8,$9,$10

#!/bin/bash

ping -c1 $1 &>/dev/null

if [ $1 -eq 0 ];then
        echo "$1 ok!"
else
        echo "$1 err!"
fi

//执行该脚本   bash wenwen 1.1.1.1
 结果:1.1.1.1 ok!
#!/bin/bash
echo $1
echo $2
echo $3
ping -c1 $1 &>/dev/null

if [ $? -eq 0 ];then
        echo "$1 ok!"
else
        echo "$1 err!"
fi

//执行该脚本 
sh wenwen test              输出:test
sh wenwen test test1        输出:test test1
sh wenwen test test1 test2  输出:test test1 test2
(4)预先定义变量
$0 脚本文件名(三颗心)
$* 所有的参数
$@ 所有的参数
$# 参数的个数(四颗星)
$$ 当前进程的pid
$! 上一个后台进程的pid
$? 上一个命令的返回值,0代表成功(上面用过 五颗星)

执行该脚本:

echo "第 3 个位置参数是 $3"
echo "第 2 个位置参数是 $2"
echo "第 1 个位置参数是 $1"
echo "所有的参数是:$*"
echo "所有的参数是:$@"
echo "参数的个数是:$#"
echo "当前进程的 PID 是:$$"
echo '$4='$4
echo '$5='$5
echo '$6='$6
echo '$*='$*
echo '$#='$$
echo '$$='$$

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值