shell变量注意事项
概念:变量赋值,变量替换,变量引用,命令替换
variable=22
echo variable
可以在同一行设置多个变量.例如
va1=good va2=chif va3=beijing #需要用空格隔开,会降低可读性和可移植性
variable
echo $variable #变量替换
22
变量替换例子
logfile=err.log
echo “this is a err” > $logfile
$variable是${variable}的简写形式
variable=value #赋值的时候=前后不能有空格,
variable =value #variable会被当做命令,=22成为命令参数
variable= value #value被当成命令执行,并且附带一个被赋值为空的环境变量variable
‘$variable’单引号全引用 - 变量替换会被阻止
“$variable”双引号半引用 -变量替换会发生
!/bin/bash
hello="A B C D"
echo $hello # 显示 A B C D 变量替换不会保留空格
echo "$hello" # 显示A B C D 变量引用会保留空格,变量替换发生
echo ‘$hello’ #显示$hello, 半引用,变量替换不会发生
A B C D
A B C D
$hello
[root@rhel download]# more show_va.sh
!/bin/bash
echo hello
echo $hello
echo "$hello"
echo "${hello}"
hello="A B C D"
echo $hello
echo "$hello"
echo '$hello'
va1=22 va2=33 va3=55
echo "va1=$va1 va2=$va2 va3=$va3"
#o_nu=1 2 3
#echo "o_nu is $o_nu"
o_nu=1\ 2\ 3
echo "o_nu is $o_nu"
un_o= #声明变量,但没有初始化,未赋值的变量为null,不可理解为0
echo $un_0
一个变量的值可以作为某个长字符串中的一部分。如果它在长字符串的末尾,就可直接引用,例:
$s=ing
$echo read$s and writ$s
如果在开头或中间,应该用花括号将该变量括起来:
$dir=/usr/zhang
$cat ${dir}hr/m1.c
2.命令替换
可以将一个命令的执行结果赋值给变量,两种形式:
(1)倒引号
`命令表`
例:$dir=`pwd`
(2)圆括号
$(命令表)
例:$dir=$(pwd)
for line in `cat file.txt` 等价于$(cat file.txt)
do
echo $line
done
shell变量注意事项的更多相关文章
- Shell变量的定义与赋值操作注意事项
1 shell变量是弱类型 * 声明变量不用声明类型 * 可以存储不同类型的内容 * 使用时要明确变量的类型 * 区分大小写 2 变量声明及赋值格式 2.1 格式 变量名=变量值 # 注意等号两侧不 ...
- Shell变量概述
目录 1. Shell变量概述 1.定义变量,变量名=变量值.不能出现"-横杠"命令 2.引用变量,$变量名 3.查看变量,set显示所有变量,包括自定义变量和环境变量 4.取消变 ...
- shell(一) shell变量
基本介绍 变量命名规范 变量名要求由字母.数字.下划线组成,尽量字母开头,有明确含义 注意:变量赋值时,等号前后不能有空格,变量名称不能和字体变量冲突 自定义变量 当前shell有效 1.定义变量 v ...
- 大数据学习(1)-shell脚本注意事项
1.变量=值 (例如STR=abc) 不用加引号,但此时空格不再是空格字符,特殊字符可用于转义 2.等号两侧不能有空格 3.变量名称一般习惯为大写 4.双引号和单引号有区别,双引号仅将空格脱意,单引 ...
- shell 编程 && bash 简介(shell 变量、shell操作环境、数据流重导向、管线命令、shell script)
如何学习一门编程语言 数据类型 运算符 关键字 1 认识BASH 这个shell linux是操作系统核心,用户通过shell与核心进行沟通,达到我们想要的目的.硬件.核心.用户之间的关系: 原理:所 ...
- shell变量
定义变量 定义变量时,变量名不加美元符号($),如: variableName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样.同时,变量名 ...
- linux中shell变量$#,$@,$0,$1,$2的含义解释
linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行 ...
- awk使用shell变量
awk使用shell变量 (可以计算浮点数) 其实在awk里,是不能直接使用shell变量的 方法是:awk -v 选项让awk 里使用shell变量 TIME=60 awk -v time=&qu ...
- shell变量详解
1 shell变量基础 shell变量是一种很"弱"的变量,默认情况下,一个变量保存一个串,shell不关心这个串是什么含义.所以若要进行数学运算,必须使用一些命令例如let.de ...
随机推荐
- 20145225《Java程序设计》 第7周学习总结
20145225<Java程序设计> 第7周学习总结 教材学习内容总结 第十三章 时间与日期 13.1认识时间与日期 时间的度量:GMT.UT.TAI.UTC.Unix.epoch. 年历 ...
- [更新中]并发和并行(Concurrency and Parallelism)
书籍的简称: CSPPSE: Computer System: a programmer's perspective Second Edition 术语并发是一个通用的概念, 指同时具有多个活动的系统 ...
- SQL多行转多列
--★转换结果如上图 1.首先创建表: CREATE TABLE [成绩表]( ,) NOT NULL, )NULL, , )NULL, , )NULL, , )NULL ) ON [PRIMARY] ...
- I Hate It(hdu1754)(线段树区间最大值)
I Hate It hdu1754 Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- 将特定TD颜色改变的两种方法
方法一:取table值 方法二:使用tbody
- ASP.NET MVC学习之模型绑定(2)
3.手工调用模型绑定 很多情况下我们都是通过形参的方式接收来自http流中的数据,这看似是完美的,但是缺少了很多过程中的控制,所以我们就需要使用手工的方式进行绑定.下面我们通过一个例子来说明,首先打开 ...
- IIS7.5 HTTP错误403.1-Forbidden 您尝试从某个目录运行CGI、ISAPI或其他可执行程序,但该目录不允许运行可执行文件
----------------错误详细---------------------------------------------------------------- --------------- ...
- httpwebrequest 请求压缩,接受压缩的字符流请求
请看图,客户端和服务端都使用gzip压缩. 客户端参数以json字符串形式gzip压缩,以二进制流发送到服务端:服务端接收到请求,解压缩gzip后,进行业务逻辑处理:处理完后在将返回值以json形式, ...
- java 解析xml
http://developer.51cto.com/art/200903/117512.htm
- Atitit.软件兼容性原理与实践 v3 q326.docx
Atitit.软件兼容性原理与实践 v3 q326.docx 1. 架构兼容性1 2. Api兼容性1 2.1. 新api vs 修改旧的api1 3. Web方面的兼容性(js,html)1 3 ...