shell脚本基础知识和命令(一)

1)Shell脚本的作用:主要解决服务器的自动化维护工作,减轻管理员的工作量。

  1. 如果向提高shell脚本的编写速度,必须要熟练使用vi编辑器的各种快捷键

一、shell脚本基础知识

编制第一个shell脚本

在脚本文件中输入如下内容

设置执行权限并执行

为脚本添加注释,友好输出,更容易读懂。

/first.sh执行脚本之后如下

重定向操作

>表示重定向输出,>>表示重定向追加

重定向输入,<表示重定向输入

Vim pass.txt,在文件中添加123456

然后执行passwd  --stdin jerry  < pass.txt

错误重定向,可用来收集程序执行的错误信息,为排错提供依据,例如:执行以下操作可以将使用tar命令备份时出现的错误信息保存到error.log文件中

&>操作符可以将两类输出信息保存到同一个文件,例如,在编译源码包的自动化脚本中,若要忽略make,make install的操作的过程信息,可以将其定向到空文件/dev/null

首先下载httpd软件到本机,然后执行Vim httpd_install.sh,并输入如下内容:

设置权限chmod  +x  httpd_install.sh

最后执行./httpd_install.sh

管道操作

例子:使用grep命令查询使用/bin/bash作为shell的用户名称时,会输出符合条件的整行内容,在此基础上可以结合管道操作与Awk命令做进一步过滤,只输出用户名和登录shell列。

提取之前的正常效果

提取之后的效果,只显示用户名和shell列

再例如:显示磁盘已用的百分比

二、使用shell变量

1、自定义变量:只在自己的shell环境中有效

1)定义新的变量和引用变量

Product=benet

Version=5.0

2、变量赋值的特殊操作

1)双引号的作用:赋值的内容包含空格时,例如:

单引号的作用:赋值的内容中包含”$”,  ““” , “ \ ”等具有特殊含义的字符时

反撇号(`)的作用:用于将某个命令的输出结果赋值给变量,例如:

$()的作用:可以代替反撇号,解决嵌套问题,因为反撇号不能实现嵌套,例如:查询提供useradd命令程序的软件包所安装的配置文件位置.

read命令的作用:用来提示用户输入信息,例如

设置变量的作用范围

     新定义的变量只在当前shell有效,如果想进入新的shell环境同样有效,就需要使用export命令将变量导出为“全局变量”

也可以在export导出全局变量的同时,也可以为变量赋值,例如:

变量的运算

特殊的shell变量环境变量

环境变量系统安装好了就存在,不用创建,可以直接使用,我们先查看一下:

我们可以把脚本直接添加到$PATH搜索路径中去,这样执行脚本的时候就不用加./了

环境变量的全局配置文件为/etc/profile,作用于所有用户,例如:将历史记录命令条数改为200条,只针对root用户

Vim  /root/.bash_profile

只需要添加上面的最后一行,然后执行source  /root/.bash_profile使之生效。

位置变量,例如求两个数的和

Vi  adder2num.sh

预定义变量,系统安装好之后就有,不能创建,只能使用,例如:$#表示命令行中位置参数的个数,$*表示所有位置参数的内容,$?表示前一条命令执行后的返回状态,返回0表示正确。$0表示当前执行的脚本或程序的名称。

例如:制作备份数据脚本,vi mybak.sh

执行脚本./mybak.sh,备份两个文件

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值