当前位置:首页 > 开发 > 系统架构 > shell > 正文

Shell学习笔记---变量赋值与运算(原创)

发表于: 2011-02-20   作者:czmmiao   来源:转载   浏览次数:
摘要: 声明:本文仅作学习研究使用,多数语句都是为了介绍语法而构造的。 #!/bin/bash #Filename:prameter_parctise2 #Datetime:2010_12_24 09:24 #Discription:Practise of evaluating parameters # 等号赋值 a=879 echo "The value of \"a\&q

声明:本文仅作学习研究使用,多数语句都是为了介绍语法而构造的。

#!/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

Shell学习笔记---变量赋值与运算(原创)

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
Sed简介 sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,
源地址:http://blog.chinaunix.net/uid-20671208-id-3552751.html Abstract : 1) Linux shell 中使
算术运算 在求值时,如果算术式中变量不存在或空值,则该变量的值为0 不同进制的数字使用"基底#数字
变量与字符串 Bash shell没有所谓的“数据形态”,除非使用内置declare特别指定变量的型态。在Bash
[参考php官方文档] 1.运算符优先级 2.算术运算符 取模 $a % $b 在 $a为负值时的结果也是负值。 3.赋
赋值运算符号 一元运算符 算术运算符 关系运算符 递增与递减运算符 public class T { public static
一.表达式 表达式是指能计算出值的任何可用程序单元。—Wiki 表达式是一种JS短语,可使JS解释器用来
一.表达式 表达式是指能计算出值的任何可用程序单元。—Wiki 表达式是一种JS短语,可使JS解释器用来
一、EL语法 1.1、语法结构 ${expression} 1.2、[]与.运算符 EL 提供.和[]两种运算符来存取数据。 当
一. 静态成员  在一个类中还可以定义静态成员,但静态成员是所有对象公有的。静态成员分为静态数据
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号