zl程序教程

您现在的位置是:首页 >  工具

当前栏目

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

笔记学习变量shell --- 运算 赋值 原创
2023-09-14 09:01:02 时间

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

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

作者:czmmiao 原文地址:http://czmmiao.iteye.com/blog/911373