码迷,mamicode.com
首页 > 其他好文 > 详细

bash 脚本编程 利用 “=” 赋值时,左右不能留空格

时间:2016-07-03 17:22:41      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:

对脚本变量用“=”赋值时, "=" 左右不能留有空格,否则会提示错误。

比如以下例子:

#!/bin/bash
BEGIN_TIME   =  `date +%H:%M:%S`
./a.out
END_TIME  =  `date+%H:%M:%S`
echo "程序开始时系统时间为"
echo "$BEGIN_TIME"
echo "程序结束时系统时间为"
echo "$END_TIME"

在将系统时间分别赋值给 BEGIN_TIME 和 ENG_TIME 时,按照以往的习惯,在 “=” 左右加上了空格,结果出现错误提示:

bo@engineer ~/Documents $ ./get_time.sh 
./get_time.sh: line 2: BEGIN_TIME: command not found

原来对于bash脚本而言, 利用“=” 赋值时,“=”两边不可以出现空格。即:

#!/bin/bash
BEGIN_TIME=`date +%H:%M:%S`
./a.out
END_TIME=`date+%H:%M:%S`
echo "程序开始时系统时间为"
echo "$BEGIN_TIME"
echo "程序结束时系统时间为"
echo "$END_TIME"

此时,没有出现任何错误提示。由此可知,在bash中,对空格的使用应格外谨慎,否则很可能出现意想不到的错误。具体相关内容可参考以下文章:

 http://www.jb51.net/article/60328.htm

bash 脚本编程 利用 “=” 赋值时,左右不能留空格

标签:

原文地址:http://www.cnblogs.com/bozhicheng/p/5638298.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!