Shell概念以及基本步骤

目录

shell的作用

编写shell脚本的规范

重定向:

定义变量:

定义变量的方法1:

定义变量的方法2:

如何设置全局环境

shell中基本的运算

位置变量:

预定义变量:


shell的作用

Shell是位于内核和用户之间的翻译官

Cat/etc/shells                                 #查看etc下的shell

Shell的使用:

完成自动化运维

批量化的重复操作

结合crontab完成周期性任务

shell弱类型语言 定义变量时不需要事先定义它的数据类型 python   解释型语言

强类型语音 java c++go定义变量时需要事先定义它的数据类型 整数型 浮点型字符型boole类型

编写shell脚本的规范

Shell脚本的构成:

  1. 申明解释器

#!/bin/bash     (默认的解释器)

#!/usr/bin/python      (用python写脚本)

#作者,创作日期,脚本的功能  等维护信息

  1. 注释信息

以#开头,被注释的语句在脚本运行时是不会被执行的

  1. 可执行的语句

如果想让一个外部命令想要直接被调用,我们可以把他写入PATH环境变量当中

做个软链接,然后放入PATH环境的目录下

将其加入全局环境变量中

source . 执行脚本的话,会在当前shell环境中执行脚本

Bash  sh    绝对路径   相对路径  执行的脚本他们会创建一个子shell环境,并且在这个子shell环境中执行这个脚本

Env可以查看环境变量

Unset是可以删除变量的,而readonly不可以删,只读

Unset不能删除只读的环境变量,只有重启

重定向:

ls -lh &> log.txt                 #&>混合输出的效果     

ls -lh > log.txt 2>&1            #把标准输出和错误输出全都输出给log.txt

ls -lh  标准输出  1 -- > 屏幕

> log.txt   1 --> log.txt

2>&1        2 --> 1   , 1 指向 log.txt ,所以 2 也就指向了 log.txt

定义变量:

定义变量不能以数字开头,而且变量名有大小写之分

双引号相对比单引号聪明,双引号可以引用值,而单引号不行

双引号输出:

单引号输出:

` ...... `这个符号表示调用

`...`  等同于  $(...)

定义变量的方法1:

变量名=变量值

定义变量的方法2:

read 变量名     从键盘输入中获取变量名的值

read -p "提示内容"  变量名

echo -n "提示内容"

如何设置全局环境

如果name前不加$,必须要用export来导出

然后要用source来运行,

read 变量名

/etc/profile   /etc/bashrc   /root/.bash_profile   /root/.bashrc

系统每次启动都会自动执行 /etc/profile 文件里的命令,这个文件是对全局有效的(所有的shell环境和用户)

不同用户登录系统 会自动执行 自己家目录中的 ~/.bash_profile 文件中的命令,自动执行 ~/.bashrc

~/.bashrc 当前用户每切换一个shell环境都会自动执行,执行  /etc/bashrc

/etc/bashrc  针对所有用户的,用户每切换一个shell环境都会自动执行

source /etc/profile

shell中基本的运算

shell默认只支持整数的运算

常用的运算表达式如下

i=$(expr 12 \* 5)

i=$((12*5))

i=$[12*5]

let i=12*5

let i++   i=$[$i+1]

let i--   i=$[$i-1]

let i+=2  i=$[$i+2]

let i/=2  i=$[$i/2]

位置变量:

10以后的位置变量必须要加上大括号{}

预定义变量:

$?    代表上一条命令或者脚本返回的状态码,返回值为0表示执行正确,为非0则表示执行异常

$0    代表脚本本身

$#    代表脚本后面跟的参数(位置变量)的个数

$*    不加双引号的话,$*和$@都代表脚本后面跟的所有参数,加上双引号,“$*”会把所有参数当做一个整体(此时参数数量为1)去看待

$@ 加上双引号“$@”会把脚本后面跟的每一个参数当做一个个体去看待

Return 退出函数时的返回值(0~255,超过的部分 %256 取余)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chiu莓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值