Shell脚本变量

shell脚本的概念:

1.讲要执行的命令按顺序保存到一个文本文件

2.给文件可执行权限

3.可以结合各种shell控制语句以完成更复杂的操作

linux中包含shell的文件有

[root@localhost ~]# cat /etc/shells
/bin/sh            #UNIX最初使用的 shell,已经被bash所替换。
/bin/bash            #基准于GNU的框架下发展出的Shell,是 sh 的扩展
/usr/bin/sh            
/usr/bin/bash
/bin/tcsh            #整合了csh,提供更多的功能
/bin/csh            #语法有点类似于c语言的Shell

注意:nologin是一个奇怪的shell 这个shell可以让用户无法登录

shell格式
使用vim编译创建xxx以.sh为结尾

脚本的第一行声明脚本解释器用#!

第二行可以用”#“来写入注释信息

后面执行代码依次排序

执行脚本shell:

chmod 给这个文件权限         也可以用bash+文件即可运行        #bash可以有无执行权限

用chmod的这个 要用绝对路径或者相对路径来运行        #要有执行权限

以上两种脚本都是在子shell环境中执行脚本

siure或”.“指定脚本文件运行        #可无执行权限

编译型代码语言:c        c++         java        go都是编译型语言 代码文件需要先进行编译才能执行

解释性语言:shell        python        代码是边解释边运行

交互式硬件设备
标准输入:从该设备接收用户输入的数据

标准输出::通过设备向用户输出数据

标准错误:通过该设备报告执行出错信息

重定向操作

变量:

变量名以字母或者下划线开头

代码:变量=变量值

查看变量值:echo ¥变量

read -p (”提示内容“)变量名

赋值时使用引号:

双引号:允许通过¥符号引用其他变量值

单引号 :会把¥看作为一个普通字符,不会引用变量的值

反撇号:命令替换提取命令结构

设置变量的作用范围

格式:1.export 变量名

让自定义的变量在所有shell环境中有效的方法:

1.在/etc/bashre 文件中 定义变量名=变量值

2.在        /etc/profile 文件中定义        export 变量名=变量值        并source /etc/profile 立即生效

整数运算

let a=10 +5 

let a++         相当于        a=$[a+1]

let a--               相当于        a=$[a-10]

let a+2=        相当于        a=$[a+2]

浮点数运算

echo ‘4.5+2.1’  | bc

awk “BEGIN[PRINT 4.5+2.1]'

环境变量:

env        #查看当前shell环境中可用的环境变量

PATH USER PWD HOMS LANG HTSTSIZE        定义在/etc/profile 中针对于所有用户

家目录~/.base_profile

只读变量

readonly 变量名=变量值

位置变量:

./rest.sh        one        tow        three        .......        the

                        $1        $2        $3                                $10

当数字超过10的时候输出显示就变成noe1了 所以我们要添加大括号

预定变量:

$0        表示脚本本身

$#        代表脚本后面跟的位置参数的数量

$?        表示时上一条Linux命令执行的返回状态码(0-255) 0表示上一条命令执行正确  非0时则为异常

$*        默认代表篇脚本后跟所有参数 加上双引号后“$*”会把所有参数看作一个整体

$@        默认代表篇脚本后跟所有参数 加上双引号后“$*”会把所有参数看作一个体

date

%y        表示年

%m       表示月

%d        表示日

date -d “1 day” + “%y%m%d”        表示昨天日期

date +“%y%m01"        表示当月第一天

date -d "1 month" +"%Y%m01"   下个月第一天
date -d "$(date -d "1 month" +"%Y%m01") -1 day" +"%Y%m%d"       当月最后一天  

  • 16
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值