您的位置:首页 > 运维架构 > Shell

shell变量注意事项

2014-07-04 11:00 274 查看

概念:变量赋值,变量替换,变量引用,命令替换

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: