美文网首页
shell变量定义【学习总结】

shell变量定义【学习总结】

作者: 夜希辰 | 来源:发表于2020-11-21 10:59 被阅读0次

学习目录
一、如何定义变量
二、取消变量
三、双引号" "和单引号' '有什么相同和不同之处
四、通配符
五、shell脚本编写规范
六、执行脚本方式
七、脚本增加可执行权限

shell是什么?

简单来说就是将需要执行的命令保存到文本中,按照顺序执行。它是解释型的,意味着不需要编译。

一、如何定义变量

1、基本方式
2、命令执行结果赋值给变量
3、交互式定义变量(read)
4、定义有类型的变量(declare)

变量名的定义规则:
变量名严格区分大小写,不能有特殊字符,不能以数字开头,等号两边不能有任何空格,变量名尽量做到见名知意

1、基本方式
直接赋值给一个变量,变量名=变量值

[root@bigdata04 ~]# A=hello
[root@bigdata04 ~]# echo $A---获取变量
hello
[root@bigdata04 ~]# B="hello world"-----变量值如果有空格用引号引起来
[root@bigdata04 ~]# echo $B
hello world
[root@bigdata04 ~]# echo ${B}-----获取变量,可以获取变量的某一部分
hello world
[root@bigdata04 ~]# echo ${B:3:2}
lo
[root@bigdata04 ~]# echo ${B:0:2}
he

2、命令执行结果赋值给变量

[root@MissHou ~]# B=`date +%F`
[root@MissHou ~]# echo $B
2019-04-16

3、交互式定义变量(read)
目的:让用户自己给变量赋值,比较灵活
常见选项释义:
-p 定义提示用户的信息
-n 定义字符数(限制变量值的长度)
-s 不显示(不显示用户输入的内容)
-t 定义超时时间,默认单位为秒(限制用户输入变量值的超时时间)

用法1:用户自己定义变量值
[root@MissHou ~]# read name
harry
[root@MissHou ~]# echo $name
harry
[root@MissHou ~]# read -p "Input your name:" name
Input your name:tom
[root@MissHou ~]# echo $name
tom
用法2:变量值来自文件
[root@MissHou ~]# cat 1.txt 
10.1.1.1

[root@MissHou ~]# read ip < 1.txt 
[root@MissHou ~]# echo $ip
10.1.1.1

4、定义有类型的变量(declare)
目的: 给变量做一些限制,固定变量的类型,比如:整型、只读
用法:declare 选项 变量名=变量值
常用选项:
-i 将变量看成整数 declare -i A=123
-r 定义只读变量 declare -r B=hello

二、取消变量

unset 变量名

[root@bigdata04 ~]# unset B
[root@bigdata04 ~]# echo $B

三、双引号" "和单引号' '有什么相同和不同之处

相同点:引号中的内容可以作为一个整体
不同点:双引号可以引用变量,单引号不能引用变量

四、通配符

*:匹配0个或者任意多个字符
:任意单个字符
[a-z] :括号内的任意单个字符
:取反
{string,string,string} :匹配括号里面用逗号隔开的所有的字符串
{1..100} :匹配一个序列

五、shell脚本编写规范

案例:

#!/bin/env bash

# 以下内容是对脚本的基本信息的描述
# Name: first_shell.sh
# Desc: num1
# Path: /shell01/first_shell.sh
# Usage:/shell01/first_shell.sh
# Update:2019-05-05

echo "hello world"
echo "hello world"
echo "hello world"

1.脚本名称 ***.sh

2.脚本内容
1)定义解析器
#!/bin/bash
#!/bin/env bash 优势:会自动去找当前系统的解析器位置
2)注释说明
#
3)程序本身
定义变量+基本命令+基本语法+思想

六、执行脚本方式

1、标准脚本执行方法:相对路径或者绝对路径
前提:标准执行方式脚本必须要有可执行权限

[root@MissHou shell01]# /shell01/first_shell.sh---绝对路径
或者
[root@MissHou shell01]# ./first_shell.sh---相对路径

2、非标准的执行方法(不建议)
场景:查看脚本执行过程;或者脚本无法赋予可执行权限
解析器 +脚本文件

[root@MissHou shell01]# bash first_shell.sh
[root@MissHou shell01]# sh first_shell.sh
[root@MissHou shell01]# bash -x first_shell.sh
+ echo 'hello world'
hello world
+ echo 'hello world'
hello world
+ echo 'hello world'
hello world
----------------
-x:一般用于排错,查看脚本的执行过程
-n:用来查看脚本的语法是否有问题
------------
七、脚本增加可执行权限
[root@MissHou shell01]# chmod +x first_shell.sh

相关文章

  • shell变量定义【学习总结】

    学习目录一、如何定义变量二、取消变量三、双引号" "和单引号' '有什么相同和不同之处四、通配符五、shell脚本...

  • shell变量

    Shell变量 前面通过简单的程序了解了Shell的编辑和运行过程,这一节主要学习Shell的变量。 1.变量定义...

  • Shell常用命令(md格式方便阅读和复制粘贴)

    Shell Shell中的变量 系统变量 自定义变量 自定义变量规则 Shell特殊变量 运算符 条件判断 基本语...

  • 07. Shell脚本变量和参数

    变量变量基础shell的变量定义同标识符的定义规则shell中,取变量的值,需要用到$符,$变量名变量的定义 变量...

  • Shell脚本

    一、Shell脚本的规则 1、变量的规则 1.1 定义变量规则: 变量名=值 1.2 shell定义变量的规则: ...

  • shell基础在工作中的应用

    shell编程基础:1. shell变量:环境变量、特殊变量、用户自定义变量2. shell输入输出3 shell...

  • 2019-01-05shell编程之变量的定义

    一、shell能做什么? 二、shell语言的执行方式 三、shell变量的定义 1,自定义变量: 特性: 赋值 ...

  • bash环境变量

    环境变量是全局变量 自定义变量是局部变量 bash:可以进入当前shell的子shell(当前shell指的是当前...

  • shell

    shell变量 变量类型:局部变量局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程...

  • Linux_Shell脚本编程之Shell变量

    Shell变量介绍 1、Linux Shell中的变量为 , 系统变量 和 用户自定义变量2、系统变量:PWD、U...

网友评论

      本文标题:shell变量定义【学习总结】

      本文链接:https://www.haomeiwen.com/subject/tjvsiktx.html