03.关于Shell变量那些事

Shell支持自定义变量。

定义变量

定义变量时,变量名不加美元符号($),如:

variableName="value"

注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:

  • 首个字符必须为字母(a-z,A-Z)。
  • 中间不能有空格,可以使用下划线(_)。
  • 不能使用标点符号。
  • 不能使用bash里的关键字(可用help命令查看保留关键字)。

变量定义举例:

hello="world"

huawei="坑爹"

caoliu=1024

使用变量

使用一个定义过的变量,只要在变量名前面加美元符号($)即可,如:

caoliu=1024

echo $caoliu

echo ${caoliu}

变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界,比如下面这种情况:

#vim for.sh

for caoliu in caoliu is so niubi

do

echo "全世界宅男都说 ${caoliu}牛逼"

done

赋予可执行权限并执行

#chmod +x for.sh

# ./for.sh

全世界宅男都说 caoliu牛逼

全世界宅男都说 is牛逼

全世界宅男都说 so牛逼

全世界宅男都说 niubi牛逼

如果不给skill变量加花括号,写成echo "全世界宅男都说 $caoliu牛逼",解释器就会把$caoliu牛逼当成一个变量(其值为空),代码执行结果就不是我们期望的样子了。

推荐给所有变量加上花括号,这是个好的编程习惯。

时间: 2024-08-02 03:13:34

03.关于Shell变量那些事的相关文章

8.6 管道符和作业控制 8.7/8.8 shell变量 8.9 环境变量配置文件

8.6 管道符和作业控制 8.7/8.8 shell变量 8.9 环境变量配置文件 扩展 bashrc和bash_profile的区别 http://ask.apelearn.com/question/7719 # 8.6 管道符和作业控制 ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20170816/214503952.png?imageslim) - 管道符的命令就是把前面输出的结果交给后面的命令 ``` [[email protected] 

五周第四次课(1月11日) 8.6 管道符和作业控制 8.7/shell变量 8.8 shell变量 8.9 环境变量配置文件

五周第四次课(1月11日)8.6 管道符和作业控制8.7/shell变量8.8 shell变量8.9 环境变量配置文件扩展bashrc和bash_profile的区别 http://ask.apelearn.com/question/7719 简易审计系统: http://www.68idc.cn/help/server/linux/2014042190951.html 关于PROMPT_COMMAND环境变量的含义 http://www.linuxnote.org/prompt_command

shell变量快速入门

临时变量开启新的sh,临时变量不存在 在shell脚本运行时,会先查找系统环境变量ENV该变量指定了环境文件(加载顺序通常是/etc/profile ~/.bash_profile ~/.bashrc /etc/bashrc) 实现变量局部生效 编辑用户变量文件立即生效命令开启新的sh,变量存在 切换普通用户,变量不存在实现/mnt下脚本直接执行编辑用户变量文件显示PATH环境变量实现变量全局生效编辑系统变量文件 立即生效命令切换普通用户,变量存在. 双引号:所见非所得,它会先把变量解析之后,再

第二章 Shell变量定义

1. Shell变量概述 1. 什么是变量 变量是Shell传递数据的一种方法,简单理解:用一个固定的字符串去表示不固定的内容,便于后续引用. 2.变量命令规范 变量定义时名称有要求:字母.数字.下划线几个组成,尽量字母开头,变量名最好具备一定的含义. ip=10.0.0.100 ip1=10.0.0.100 Hostname_Ip=10.0.0.100 hostname_IP=10.0.0.100 等号是赋值,需要注意:等号两边不能有空格,其次定义的变量不要与系统命令出现冲突. 3. Shel

第二章 Shell变量

第二章 Shell变量 1. shell变量概述 1. 什么是变量 变量是Shell传递数据的一种方法,简单理解:用一个固定的字符串去表示不固定的内容,便于后续引用. 2.变量命令规范 变量定义时名称有要求:字母.数字.下划线几个组成,尽量字母开头,变量名最好具备一定的含义. ip=10.0.0.100 ip1=10.0.0.100 Hostname_Ip=10.0.0.100 hostname_IP=10.0.0.100 等号是赋值,需要注意:等号两边不能有空格,其次定义的变量不要与系统命令出

awk中使用shell变量

其实在awk里,是不能直接使用shell变量的 方法是:awk -v 选项让awk 里使用shell变量 TIME=60 awk -v time="$TIME" 'BEGIN{FS="|"} {if ($7>time) print $2 }' 这样要注意:在awk里,time不能加$符号. 网上说如下方法都可行: 一:"'$var'" 这种写法大家无需改变用'括起awk程序的习惯,是老外常用的写法.如: var="test&quo

Linux学习日记—使用Shell变量

Shell变量用来存放系统和用户需要使用的特定参数(值),而且这些参数可以根据用户的设定或系统环境的变化而相应的变化. [变量的作用] 为灵活管理Linux系统提供特定参数,而有两层意思: 1.变量名:使用固定的名称,由系统预设或用户自定义 2.变量值:能够根据用户设置,系统环境的变化而变化 [变量的类型] 1.自定义变量:由用户自己定义,修改和使用 2.环境变量:由系统维护,用于设置工作环境 3.位置变量:通过命令行给脚本程序传递参数 4.预定义变量:Bash中内置一类变量,不能直接修改 [自

Linux下如何让 awk 使用 Shell 变量

当我们编写 shell 脚本时,我们通常会在脚本中包含其它小程序或命令,例如 awk 操作.对于 awk 而言,我们需要找一些将某些值从 shell 传递到 awk 操作中的方法.那么如何让 awk 使用 Shell 变量呢?兄弟连Linux培训接下来为大家介绍一下: 有两种可能的方法可以让 awk 使用 shell 变量: 1. 使用 Shell 引用 让我们用一个示例来演示如何在一条 awk 命令中使用 shell 引用来替代一个 shell 变量.在该示例中,我们希望在文件 /etc/pa

shell变量day01

变量 定义变量your_name="runoob.com" #变量名和等号之间不能有空格 使用变量your_name="qinjx"echo $your_nameecho ${your_name}echo "I am good at ${skill}Script"echo "I am good at ${skillScript}"加花括号是为了帮助解释器识别变量的边界 your_name="tom"your