Shell 变量嵌套】的更多相关文章

实现:eval 1 a="indv1" 2 indv1="Sus1" 3 4 eval tmp='$'$a 5 echo $tmp //这里 echo 返回值为Sus1…
eval命令妙用--变量嵌套替换 eval命令在Linux下的应用非常广泛,在写脚本的时候遇到一个变量嵌套的问题,用eval迎刃而解,略试不爽啊. var1="hello" i=1 #有时候i需要放在循环里,所以实际应用中有意义 what=var${i} temp=what echo $temp #打印出what eval temp=$(echo \$$what) echo $temp #打印出hello 究其原因在于eval替换表达式中的变量再做运算. 更多eval用法见下: eva…
linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览 $* 所有参数列表.如"$*"用「"」括起来的情况.以"$1 $2 … $n"的形式输出所有参数. $@ 所有参数列表.如"$@"用「"」括起来的情况.以&quo…
目录 1. Shell变量概述 1.定义变量,变量名=变量值.不能出现"-横杠"命令 2.引用变量,$变量名 3.查看变量,set显示所有变量,包括自定义变量和环境变量 4.取消变量,作用范围:仅在当前Shell中有效. 5.注意事项,引用变量时注意事项,单双引号和不加引号的区别. 注意: 2.执行结果如下: 3.这里需要注意 $*和$@的区别 执行结果如下: 自定义变量运算 命令的嵌套使用,使用$($()) 2. Shell变量赋值 echo命令输出颜色. 3. Shell变量替换…
5.Shell变量本章介绍 shell 中所使用的变量.Bash 会自动给其中一些变量赋默认值.5.1 波恩Shell的变量Bash 使用一些和波恩 shell 同样的变量.有时,Bash 会给它赋默认值.CDPATH 冒号分隔的一组目录名,用作内部命令 cd 的搜索路径.HOME 当前用户的主目录,也是内部命令 cd 的默认值.这个变量的值还用在波浪号扩展中.IFS 用来分隔字段的亄组字符:在扩展时,shell 用它来拆分单词.MAIL 如果这个变量设为一个文件名,并且没有设置 MAILPAT…
有时候需要用到ansible的变量的嵌套解析,就是“变量中嵌套变量”.例子如下: 假设有一个外部传递的变量,system_code = CRM,而我们同时有一系列类似的变量,如: ABS_port=10000 ETL_port=5678 CRM_port=1234 想通过system_code变量来决定我要用哪个xxx_port,所以需要变量嵌套. ansible yaml写法如下,在ansible 2.2中通过.(在2.5版本后有新的写法) - hosts: remote_node vars:…
类型     注释强变量 变量在使用前,必须事先声明,甚至还需要初始化 弱变量 变量用时声明,甚至不区分类型 变量的作用:用来保存变化的数据 变量名 名称固定,由系统设定或用户定义 变量值 根据用户设置.系统环境变化而变化 设置方法 变量名=变量值 Shell变量的类型 类型 说明 环境变量(全局变量) 由系统维护,用于设置工作环境,只有个别环境变量用户可以直接更改.可以在创建它们的shell及其派生出来的任意子进程shell中使用. 位置变量 通过命令行给脚本程序传递参数 预定义变量 bash…
shell变量的引用非常重要,运用技巧灵活多变 变量的引用主要包含四类:双引号引用.单引号引用.反引号引用.反斜线引用 " " 双引号 屏蔽除美元符号$.反引号( ` )和反斜线( \ )之外的所有字符 ' ' 单引号 屏蔽所有的字符 `` 反引号 shell将反引号中的内容解释为系统命令 \ 反斜线   转义符,屏蔽下一个字符的特殊含义 shell变量的引用指的是 用引用符号将字符串引起来,从而屏蔽特殊字符被shell解释为其他含义.比如通配符星号(*)表示匹配任意字符串,如果引号引…
定义变量 定义变量时,变量名不加美元符号($),如: variableName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样.同时,变量名的命名须遵循如下规则: 首个字符必须为字母(a-z,A-Z). 中间不能有空格,可以使用下划线(_). 不能使用bash里的关键字(可用help命令查看保留关键字). 使用变量 使用一个定义过的变量,只要在变量名前面加美元符号($)即可,如: your_name="mozhiyan" ec…
linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览 $* 所有参数列表.如"$*"用「"」括起来的情况.以"$1 $2 - $n"的形式输出所有参数. $@ 所有参数列表.如"$@"用「"」括起来的情况.以&quo…
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程序的习惯,是老外常用的…
1 shell变量基础 shell变量是一种很"弱"的变量,默认情况下,一个变量保存一个串,shell不关心这个串是什么含义.所以若要进行数学运算,必须使用一些命令例如let.declare.expr.双括号等.shell变量可分为两类:局部变量和环境变量.局部变量只在创建它们的shell中可用.而环境变量则可以在创建它们的shell及其派生出来的任意子进程中使用.有些变量是用户创建的,其他的则是专用shell变量.变量名必须以字母或下划线字符开头.其余的字符可以是字母.数字(0~9)…
一.Shell变量的应用 1.Shell变量的种类     ·用户自定义变量:由用户自己定义.修改和使用     ·预定义变量:Bash预定义的特殊变量,不能直接修改     ·位置变量:通过命令行给程序传递执行参数 2.变量的赋值与引用     ·定义新的变量             变量名要以英文字母或下划线开头,区分大小写             格式:变量名=变量值    · 查看变量的值             格式:echo $变量名         echo  "my name i…
变量 是一种很“弱”的变量,默认情况下,一个变量保存一个串,Shell不关心这个串是什么含义.所以若要进行数学运算,必须使用一些命令例如 let.declare.expr.双括号等. Shell变量可分为两类:局部变量和环境变量.局部变量只在创建它们的Shell中可用.而环境变量则可以在创建它们的Shell及其派生出来的任意子进程中使用.有些变量是用户创建的,其他的则是专用Shell变量. 变量的命名规则: 1.可以使用英文字母.数字(0~9)和下划线组成,任何其他的字符都标志着变量名的终止.…
1 shell变量是弱类型 * 声明变量不用声明类型 * 可以存储不同类型的内容 * 使用时要明确变量的类型 * 区分大小写 2 变量声明及赋值格式 2.1 格式  变量名=变量值 # 注意等号两侧不可有空格,否则会当做命令来对待,而[.]等命令必须要在前后都加上空格 据此你可以明白为什么有这些限制 2.2 举例   var="do you?" 3 变量的使用 3.1 格式  $变量名 或 ${变量名} 注意与$(xxx)的区别,$(xxx)是执行命令xxx时输出的结果 如now=$(…
Abstract : 1)  Linux shell 中使用 let , [ ] ,(( )) 三种运算符操作 shell 变量进行简单的基本运算: 2)Linux shell 中使用 expr 与 bc 两个程序实现高级运算: 1, Linux shell 变量的基本运算 数值作为常规变量直接赋值给变量,并且以字符串形式保存. 1.1 let 命令可以用于直接执行基本操作:         当我使用 let 的时候,我们不使用 $ 符号引用变量. no1=7; no2=8; echo "---…
特殊的shell变量: $0  获取当前执行的shell脚本的文件名 $n  获取当前执行的shell脚本的第n个参数值,n=1..9 $*  获取当前shell的所有参数 “$1 $2 $3 …注意与$#的区别 $#  获取当前shell命令行中参数的总个数 $$  获取当前shell的进程号(PID) $!  执行上一个指令的PID $?  获取执行的上一个指令的返回值(0 为成功, 非零为失败) $@  这个程序的所有参数 “$1″ “$2″ “$3″ “…” 举例(通过脚本举例,大家也可…
文章版权:http://www.cnblogs.com/linux-super-meng/ 环境变量路径: [root@localhost ~]# set   //查看到的是局部变量和全局变量2种 [root@localhost ~]# env  //查看系统的全局环境变量 [root@localhost ~]# echo $PATH  //查看系统环境变量路径 [root@localhost ~]# export $PATH  //也可以使用export查看环境变量路径 [root@local…
http://blog.csdn.net/longxibendi/article/details/6125075 set - 读写变量语法:set varName ?value?描述:返回变量varName的value的值,如果value被指定则将该值赋予varName,如果varName之前未被赋值,则将该值赋予varName如果varName中存在(),则其被识别为数组元素,没有的话被认为是一个普通变量举例:1)将随机数存在变量r中set r [expr rand()]2)将短消息存在数组元…
Shell支持自定义变量. 定义变量 定义变量时,变量名不加美元符号($),如: variableName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样.同时,变量名的命名须遵循如下规则: 首个字符必须为字母(a-z,A-Z). 中间不能有空格,可以使用下划线(_). 不能使用标点符号. 不能使用bash里的关键字(可用help命令查看保留关键字). 变量定义举例: myUrl="http://see.xidian.edu.cn/cp…