=
赋值操作符(它的左右两边不能有空白符)

不要搞混了=和-eq,-eq是比赋值操作更高级的测试。

注意:等于号(=)根据环境的不同它可能是赋值操作符也可能是一个测试操作符。

例子:简单的变量赋值

#!/bin/bash
# 裸变量 echo # 什么时候变量是“裸”的?比如说,变量名前面没有$?
#当变量被赋值而不是引用时,我们称它为是裸变量。 # 赋值
a=879
echo "The value of \"a\" is $a." # 用命令'let'赋值。
let a=16+5
echo "The value of \"a\" is now $a." echo # 在一个for循环里赋值(其实,这是一种伪赋值):
echo -n "Values of \"a\" in the loop are: "
for a in 7 8 9 11
do
echo -n "$a "
done echo
echo # 用'read'命令 (这也是一种赋值):
echo -n "Enter \"a\" "
read a
echo "The value of \"a\" is now $a." echo exit 0

例子简单且奇特的变量赋值

#!/bin/bash

a=23              # 简单的情况
echo $a
b=$a
echo $b # 现在,来一点奇怪的赋值(命令替换) a=`echo Hello!` # 把'echo'命令的结果赋值给变量'a'
echo $a
# 注意在一个#+的命令替换结构中包含一个感叹号(!),
#+ 将不会工作。
#+ 因为感叹号触发了Bash"历史命令机制"
# 不过,在脚本里,历史命令机制是被禁用的. a=`ls -l` # 把'ls -l'命令的结果赋给变量'a'
echo $a # 如果没有引号,则会删除多余tab键和空白符
echo
echo "$a" # 加了双引号,则能够原样保留空白符
# (参考"引用"章节) exit 0

变量赋值也可以使用$(...) 机制(它是比斜引号更新的方法). 它实际是命令替换的一种形式.

Linux Shell编程(7)——变量赋值的更多相关文章

  1. Linux —— Shell编程之变量赋值和引用

    Linux的shell编程是一种非常成熟的编程语言,它支持各种类型的变量.有三种主要的变量类型:环境变量.内部变量和用户变量. 环境变量(environment variable)是系统环境的一部分, ...

  2. Linux Shell编程、变量、控制语句

    为什么要学习Shell编程 1)Linux运维工程师在进行服务器集群管理时,需要编写Shell程序来进行服务器管理. 2)对于JavaEE和Python程序员来说,工作的需要,你的老大会要求你编写一些 ...

  3. linux shell编程之变量和bash配置文件(第一篇)

    编程语言有两类 强类型:如C语言.数据具有其特定的类型,先声明定义后才能使用.数据运算时必须符合类型要求(如不能把字符串类型数据直接与整型数据做算数运算) 弱类型:如shell.数据默认为字符型,不用 ...

  4. shell编程之变量赋值

    1.变量赋值: name=lbg 等号前后不能有空格 name="Lebron James" 变量值中有空格要用双引号 echo ${name} 用${}更保险 shopt -s ...

  5. Linux学习——shell编程之变量

    shell编程之变量:Linux shell编程基础中的变量. 包括Bash变量的分类和各变量的详细使用,如:用户自定义变量.环境变量.语系变量.位置参数变量和预定义变量. 1:什么是Bash变量? ...

  6. linux —— shell 编程(文本处理)

    导读 本文为博文linux —— shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 基本文本处理 流编辑器sed aw ...

  7. linux shell编程总结

    linux shell编程总结 本周学习了unix/linux shell编程,参考的是<LINUX与UNIX Shell 编程指南>,David Tansley著:徐焱,张春萌等译,由机 ...

  8. Linux Shell编程参考大全

    本文记录Linux Shell编程中常用基本知识,方便快速入门以及查询使用. 本文主要分为以下几个部分: 一.Shell中的变量 任何编程语言中,有关变量的定义,作用范围,赋值等都是最最基础的知识. ...

  9. linux shell 编程参考

    #!/bin/bash my_fun() { echo "$#" } echo 'the number of parameter in "$@" is '$(m ...

  10. Linux Shell编程与编辑器使用详解

    <Linux Shell编程与编辑器使用详解> 基本信息 作者: 刘丽霞 杨宇 出版社:电子工业出版社 ISBN:9787121207174 上架时间:2013-7-22 出版日期:201 ...

随机推荐

  1. IE6与W3C标准的盒模型差异

    盒子模型(Box Model)是 CSS 的核心,现代 Web 布局设计简单说就是一堆盒子的排列与嵌套,掌握了盒子模型与它们的摆放控制,会发现再复杂的页面也不过如此,然而,任何美好的事物都有缺憾,盒子 ...

  2. error: device not found - waiting for device -

    执行 cocos run -p android 时报的这个错误 连接上 android 手机, 手机开启开发者模式.  设置--其他高级设置--开发者选项--USB 调试

  3. python版本简历

  4. transition的四个属性

    transition-property 规定设置过渡效果的 CSS 属性的名称. transition-duration 规定完成过渡效果需要多少秒或毫秒. transition-timing-fun ...

  5. hive hbase pig 区别

    参考文档http://www.linuxidc.com/Linux/2014-03/98978.htm

  6. DataTbale取值

    有一个DataTable数据 //创建DataTable对象 DataTable dt = new DataTable("Table_AX"); //为DataTable创建列 / ...

  7. 补充一下sql server(临时表)

    说明:(1).临时表其实是放在数据库tempdb里的一个用户表:(2).TempTableName必须带“#”,“#"可以是一个或者两个,以#(局部)或##(全局)开头的表,这种表在会话期间 ...

  8. HTTP could not register URL http://+:8000/.... Your process does not have access rights to this namespace

    windows 7, Visual Studio 2013 在托管 Windows 服务中承载 WCF 服务时报错: HTTP could not register URL http://+:8000 ...

  9. 分数拆分( Fractions Again, UVA 10976)-ACM

    It is easy to see that for every fraction in the form  (k > 0), we can always find two positive i ...

  10. Day8 面向对象(补充)

    私有字段 class Foo: def __init__(self, name): self.__name = name def f1(self): print(self.__name) class ...