bash 脚本编程 利用 “=” 赋值时,左右不能留空格
Posted 薄小成
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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"
在将系统时间分别赋值给 BEGIN_TIME 和 ENG_TIME 时,按照以往的习惯,在 “=” 左右加上了空格,结果出现错误提示:
[email protected] ~/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 脚本编程 利用 “=” 赋值时,左右不能留空格的主要内容,如果未能解决你的问题,请参考以下文章