shell基本脚本命令

       Shell是一个命令解释器,它在操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出屏幕返回给用户

Shell 脚本必须要素:

①  脚本文件名字必须以.sh结尾。

②  声明:打开脚本的第一句话必须写上#!/bin/bash(通常#后面的是不会被解析的,但是加上!就是告诉操作系统用什么解释器去解释)。

如何执行一个脚本:

①  以命令方式执行脚本

bash yunjisuan.sh

sh yunjisuan.sh

②  给脚本可执行权限x,然后以脚本的绝对路径方式执行脚本

/root/benet/yunjisuan.sh

脚本里面出现的必须是都是免交互的。如passwd –stdin test1

扫描二维码关注公众号,回复: 3771868 查看本文章

基本脚本命令:

一、逻辑判断

脚本理论的命令是死的,不会像人一样通过眼睛判断是否可执行。因此,我们需要对脚本的命令进行是否可行的逻辑判断(真/假),判断后在进行命令的执行。

(1)文件测试

通过test –d(f) 来判断目标是目录还是文件

 

脚本里:test –d /root && cd /root && pwd

-e  判断目标是否存在

-r 判断是否有读权限

-w 判断是否有写权限

-x 判断是否有可执行权限

-z 判断字符串是不是空(空格为不空)

## 我们可以通过特殊方式判断字符串是否为空

(了解)$ {#变量名} =====》输出变量的字符位数如果是0,代表变量为空

判断变量的字符个数:

  

(2)通过中括号[](逻辑判断符号)来判断目标是否是目录还是文件,还能进行字符串判断以及数字大小的比对。

[ -d /root/benet ]  判断是否为目录

[ -f /root/benet/yunjisuan.sh ]  判断是否为文件

[ $变量 == “”“字符串” ]  进行字符串是否向相等判断

[ $变量 – gt(lt,le,ge,eq) 数字 ] 进行数字大小判断

-gt (great than)代表大于

-lt (less than)代表小于

-eq 代表等于

-ge 是大于等于

-le 是小于等于

== 是等号,x == 3,判断

= 是赋值(赋值语句,数字可以不加“”,但是字符串加“”)

        结论:以上判断均可通过$?进行成功与否的取值,0代表判断为真,非0代表判断为假。

(3)关于逻辑与&&  逻辑或||

&&符号的左边为真(0),方可执行右边,否则右边不执行

|| 符号左边为假(非0),方可执行右边,否则右边不执行

注:变量名只能由字母、数字、下划线组成,且以字母开头。逻辑与可以连接很多,用逻辑或(在最右边)就不要在用逻辑与了,造成逻辑混乱

shell 脚本的意义:

通过命令行解析的方式帮我们自动去执行我们设定好的代码;假如我们把脚本挂到定时任务里,那就是自动的在某个没有人的时间里自动触发干活程序。

二、关于脚本交互式输出模式:

(1)我们可以通过read命令进行交互式输入

例如:read 变量    或者 read –p “文本提示” 变量

 

 

 

三、命令行传参

 

$# 代表传给脚本的参数的个数

$* 代表横向罗列参数

$0 文件的执行路径

$1..$n 对应传入的不同的参数

$@ 传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同

注:但是当$@和$*被双引号(" ")包含时,"$*" 会将所有的参数作为一个整体,以"$1 $2 … $n"的形式输出所有参数;"$@" 会将各个参数分开,以"$1" "$2" … "$n" 的形式输出所有参数。

猜你喜欢

转载自www.cnblogs.com/juanne/p/9878241.html