shell变量定义【学习总结】

如题所述

第1个回答  2022-06-29

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

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

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

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

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

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

unset 变量名

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

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

案例:

1.脚本名称 ***.sh

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

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

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

大家正在搜