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

不要搞混了=和-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

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

最新文章

  1. 学习笔记——关于HTML(含HTML5)的块级元素和行级(内联)元素总结
  2. iOS 导航控制器返回栈中的某一控制器
  3. IE浏览器GET传参后台乱码
  4. 【Node.app】Node.js for iOS
  5. 发现可高速缓存的 SSL 页面
  6. TatukGIS - GisDefs - CheckFileWriteAccess 函数
  7. Wpf学习之路……
  8. C语言字符串定义(数组&指针)
  9. oracle触发器使用
  10. 在vue-cli项目中使用bootstrap的方法示例
  11. LeetCode(59):螺旋矩阵 II
  12. centos6.5设置key登录
  13. golang 创建一个简单的广播echo服务器
  14. “全栈2019”Java异常第十四章:将异常输出到文本文件中
  15. LayIM.AspNetCore Middleware 开发日记(四)主角登场(LayIM介绍)
  16. rpm包管理和源码包管理
  17. rails执行sidekiq任务的时候报错“can't connect to local mysql server through socket '/var/run/mysqld/mysqld.sock'”
  18. android,Exoplayer实现视频播放器
  19. http://blog.sina.com.cn/s/blog_628cc2b70102v115.html
  20. 一起來玩鳥 Starling Framework(6)Juggler、Tween、以及DelayCall

热门文章

  1. linux设置语言编码
  2. Rouh set 入门知识1(基础定义篇)
  3. thread跟Runnable实现多线程
  4. linux进程地址空间详解(转载)
  5. awk中split函数的用法
  6. 分享整理的sql脚本
  7. xml有哪些解析技术?区别是什么?
  8. C# 枚举
  9. python中的几种集成分类器
  10. SGU 115.Calendar