请教if [ ${#mon} -eq 1 ]中${#mon}是什么意思

sh/bash/dash/ksh/zsh等Shell脚本
回复
zzxiaoma
帖子: 58
注册时间: 2008-02-14 10:21

请教if [ ${#mon} -eq 1 ]中${#mon}是什么意思

#1

帖子 zzxiaoma » 2011-08-15 13:57

mon=`date +%m`
if [ ${#mon} -eq 1 ]
mon得到月份后,取变量的值不是应该是$mon
为什么用${#mon}?
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 请教if [ ${#mon} -eq 1 ]中${#mon}是什么意思

#2

帖子 eexpress » 2011-08-15 14:56

变量长度。
● 鸣学
头像
wjchen
帖子: 583
注册时间: 2011-05-02 19:08
系统: ubuntu 12.04

Re: 请教if [ ${#mon} -eq 1 ]中${#mon}是什么意思

#3

帖子 wjchen » 2011-08-15 15:04

${#parameter}
替换为 parameter 的值的长度 (字符数目)。如果 parameter 是 *或者是@, 替换的值是位置参数的个数。如果parameter是一个数组名,下标是 * 或者是 @, 替换的值是数组中元素的个数。

以上摘自bash的manpage。
回复