Shell学习笔记---变量赋值与运算
2013-11-03 20:08
381 查看
#!/bin/bash
#Filename:prameter_parctise2
#Datetime:2010_12_24 09:24
#Discription:Practise of evaluating parameters
# 等号赋值
a=879
echo "The value of \"a\" is $a."
# 使用'let'赋值
let a=16+5
echo "The value of \"a\" is now $a."
echo 'The value of \'a\' is now $a.'
# 在'for'循环中赋值(事实上, 这是一种伪赋值):
echo -n "Values of \"a\" in the loop are: "
#--------------------------------------------
for a in 7 8 9 11
do
echo -n "$a "
done
echo
#--------------------------------------------
#使用'read'命令进行赋值(这也是一种赋值的类型):
echo -n "Enter \"a:\" "
read a
echo "The value of \"a\" is now $a."
#--------------------------------------------
b=$a
echo $b
# 现在让我们来点小变化(命令替换).
c=`echo Hello!` # 把'echo'命令的结果传给变量'a'
echo $c
c=`ls -l` # 把'ls -l'的结果赋值给'a'
echo $c #然而, 如果没有引号的话将会删除ls结果中多余的tab和换行符.
echo "$c" #如果加上引号的话, 那么就会保留ls结果中的空白符.
#命令替换也可以通过( )实现
R=$(cat /etc/redhat-release)
arch=$(uname -m)
echo $R; echo $arch
exit 0
进行浮点运算
#!/bin/bash
echo -n "Inpute a:"
read a
echo -n "Input b:"
read b
#计算a,b的乘积,包括浮点数
c=` "scale=3;$a*$b" | bc`
echo "c=$c"
exit 0
#!/bin/bash
#Filename:parameter_replacement.sh
#Datetime:2010_12_24 17:09
#Discription:Replace the parameter
myfruit="pear"
fruit=${myfruit:-apple} #对于“:-":如果myfruit变量被定义过且不为空,则不传入"apple"。否则传入
echo When myfruit is set ,fruit is :$fruit apple,该传是暂时的,非永久性
unset myfruit
fruit=${myfruit:-apple}
echo When myfruit is unset,fruit is :$fruit
unset var_x
echo When var_x is unset,var_x is :$var_x #对于":=",如果var_x变量未被定义过或为空,则将var_x赋值为"shala"。否则
echo Now var_x is: ${var_x:=shala} 将var_x变量将保留他原本的值。该赋值为永久性的,非暂时性的
echo Now var_x is: ${var_x:=banana}
unset var_x
echo ${var_x:+"aoyun beijing"} #对于":+",如果var_x变量未被定义或为空,则不传入"aoyun beijing"。如果
var_x="beijing 2008" var_x被定义过, 则传入"aoyun beijing",该传是暂时的,非永久性
echo ${var_x:+"aoyun beijing"}
echo var_x is:$var_x
exit 0
参考至:http://club.topsage.com/viewthread.php?tid=668357&highlight=shell
本文原创,转载请注明出处、作者
如有错误,欢迎指正
邮箱:czmcj@163.com
#Filename:prameter_parctise2
#Datetime:2010_12_24 09:24
#Discription:Practise of evaluating parameters
# 等号赋值
a=879
echo "The value of \"a\" is $a."
# 使用'let'赋值
let a=16+5
echo "The value of \"a\" is now $a."
echo 'The value of \'a\' is now $a.'
# 在'for'循环中赋值(事实上, 这是一种伪赋值):
echo -n "Values of \"a\" in the loop are: "
#--------------------------------------------
for a in 7 8 9 11
do
echo -n "$a "
done
echo
#--------------------------------------------
#使用'read'命令进行赋值(这也是一种赋值的类型):
echo -n "Enter \"a:\" "
read a
echo "The value of \"a\" is now $a."
#--------------------------------------------
b=$a
echo $b
# 现在让我们来点小变化(命令替换).
c=`echo Hello!` # 把'echo'命令的结果传给变量'a'
echo $c
c=`ls -l` # 把'ls -l'的结果赋值给'a'
echo $c #然而, 如果没有引号的话将会删除ls结果中多余的tab和换行符.
echo "$c" #如果加上引号的话, 那么就会保留ls结果中的空白符.
#命令替换也可以通过( )实现
R=$(cat /etc/redhat-release)
arch=$(uname -m)
echo $R; echo $arch
exit 0
进行浮点运算
#!/bin/bash
echo -n "Inpute a:"
read a
echo -n "Input b:"
read b
#计算a,b的乘积,包括浮点数
c=` "scale=3;$a*$b" | bc`
echo "c=$c"
exit 0
#!/bin/bash
#Filename:parameter_replacement.sh
#Datetime:2010_12_24 17:09
#Discription:Replace the parameter
myfruit="pear"
fruit=${myfruit:-apple} #对于“:-":如果myfruit变量被定义过且不为空,则不传入"apple"。否则传入
echo When myfruit is set ,fruit is :$fruit apple,该传是暂时的,非永久性
unset myfruit
fruit=${myfruit:-apple}
echo When myfruit is unset,fruit is :$fruit
unset var_x
echo When var_x is unset,var_x is :$var_x #对于":=",如果var_x变量未被定义过或为空,则将var_x赋值为"shala"。否则
echo Now var_x is: ${var_x:=shala} 将var_x变量将保留他原本的值。该赋值为永久性的,非暂时性的
echo Now var_x is: ${var_x:=banana}
unset var_x
echo ${var_x:+"aoyun beijing"} #对于":+",如果var_x变量未被定义或为空,则不传入"aoyun beijing"。如果
var_x="beijing 2008" var_x被定义过, 则传入"aoyun beijing",该传是暂时的,非永久性
echo ${var_x:+"aoyun beijing"}
echo var_x is:$var_x
exit 0
参考至:http://club.topsage.com/viewthread.php?tid=668357&highlight=shell
本文原创,转载请注明出处、作者
如有错误,欢迎指正
邮箱:czmcj@163.com
相关文章推荐
- Shell学习笔记---变量赋值与运算---待完善
- shell脚本的作用,shell脚本变量的定义和三种赋值方式【shell脚本的学习笔记一】
- Shell学习笔记(7)-高级变量之算术运算
- Power Shell 学习笔记(三)变量
- 【学习笔记】【C语言】赋值运算
- Shell学习笔记——变量
- Linux学习日记 —— 10.5.1 Shell基础-Bash变量-数值运算与运算符
- Effective C# 学习笔记(十二) 多用成员变量初始化,少用指定赋值
- shell 学习(1) 执行,管道,重定向,逻辑分隔,变量,引号,运算
- C语言学习笔记1--符号常量、变量、运算
- Python学习笔记:02 基础:变量、整数、字符串、赋值、基本输出、注释、代码块
- shell的学习笔记——变量的设置规则
- 《ES6入门(第二版)》学习笔记【精华】(2)-变量的解构赋值
- Shell学习笔记(6)-高级变量之变量扩展
- Shell 学习(三、vi变量和数值运算,父shell和子shell)
- C++学习笔记-----在重载的赋值运算函数中调用拷贝构造函数
- Shell学习笔记---特殊变量
- java 学习笔记2-变量、运算、数组
- 学习笔记——shell中测试变量是否已经设置
- shell 脚本学习笔记-1 终端打印 变量 环境变量