Shell脚本(一) 编写简单的脚本 运行脚本 重定向和管道符 变量 变量的类型 配置变量 变量赋值常用的符号 变量的运算 特殊变量

Shell脚本(一)

编写简单的脚本

一、 使用脚本显示根目录数据

1.新建文件test.sh

[root@centos01 ~]# vim test.sh

2.编辑test.sh

[root@centos01 ~]# vim test.sh
#!/bin/bash				   //声明
#test script					//描述
#moe0526@126.com		//脚本作者联系方式
echo "切换到根目录"		
cd /	
echo "显示根目录的数据"
ls
二、运行脚本

1.方法一:脚本文件路径(必须添加x权限)

root@centos01 ~]# ./test.sh

2.方法二:sh 脚本文件路径(sh可以不写声明)

[root@centos01 ~]# sh test.sh

3.方法三:source脚本文件路径

[root@centos01 ~]# source test.sh

重定向和管道符

1.基本输入输出

标准输入:文件号0,接收或者读取用户输入的数据,用<表示
标准的输出:文件号1,将数据显示在屏幕或者文件中,用>表示,>>表示追加输出
错误输出:文件号2,错误输出显示在屏幕或者文件中,用2>表示
混合输出:对或者错误都可以显示或输出到文件中显示,用&>表示

2.管道符|

把前一个命令执行的结果,当成一个命令处理的对象
3.输出的使用

[root@centos01 ~]# echo "hello world"                //输出到屏幕
[root@centos01 ~]# echo "hello world"> ./1.txt   //输出到文件

4.将错误输出数据,输出到1.txt文件

[root@centos01 ~]# asdf 2> 1.txt

5.混合输出显示到1.txt

[root@centos01 ~]# echo "aaa" &> 1.txt 

6.管道符的应用

[root@centos01 ~]# netstat -anput | grep sshd

变量

1.变量的组装

变量名和变量值组成

2.变量的作用

方便条用变量中的参数
避免重复编写内容

变量的类型

1.自定义变量

管理员手动创建
根据脚本环境需要创建

2.环境变量

维护系统使用
不需要管理员手动创建

3.位置变量

命令给脚本传递参数使用

4.预定义变量

bash预定义变量属于特殊变量
用户不能修改预定义变量

配置变量

1.定义变量名为a和b

[root@centos01 ~]# a=benet
[root@centos01 ~]# b=6.0

2.调用变量

[root@centos01 ~]# echo $a $b
benet 6.0

变量赋值常用的符号

1.双引号

许引用其他的变量值

2.单引号

禁止引用其他变量

3.反撇

将命令执行的结果赋值给变量

4.read -p

接收用户输入内容赋值

5.使用双引号引用变量

[root@centos01 ~]# c="accp $b"
[root@centos01 ~]# echo $c
accp 6.0

6.使用单引号禁止引用变量

[root@centos01 ~]# d='accp $bb'
[root@centos01 ~]# echo $d
accp $bb

7.使用反撇将命令结果赋值变量

[root@centos01 ~]# e=`netstat -anput | grep 22`
[root@centos01 ~]# echo $e

8.使用read -p 将用户输入的内容赋值给age变量名

[root@centos01 ~]# read -p "请输入年龄:" age

变量的运算

1.变量的运算符

+:加
-:减
*:乘
/:除

2.加法

[root@centos01 ~]# a=1
[root@centos01 ~]# b=2
[root@centos01 ~]# expr $a + $b
3

3.减法

[root@centos01 ~]# expr $b - $a
1

4.乘除法

[root@centos01 ~]# expr $b \* $b / $a
4

特殊变量

1.环境变量

系统变量

2.位置变量

提供9个位置

3.预定义变量

$#:命令行中位置从那时
$*:所有位置参数
$?:判断脚本执行状态0成功,非0失败
$0:脚本进程名字

4. 特殊变量的基本使用

[root@centos01 ~]# cat ./test.sh 
#!/bin/bash
#test script
#moe0526@126.com
echo "$0 获取当前执行脚本文件名" $0
echo "$* 所在位置参数" $*
echo "$# 显示脚本中参数的总数" $#
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值