当前位置: 技术问答>linux和unix
Shell 中如何使用变量数组?
来源: 互联网 发布时间:2015-07-20
本文导语: 偶需要计算指定日期的前一天和后一天, 但不知道怎么引用变量数组, 如: Days=(31,28,31,30,31,30,31,31,30,31,30,31) yyyy=`echo $1 |cut -c1-4` mm=`echo $1 |cut -c5-6` dd=`echo $1 |cut -c7-8` y1=$[yyyy % 4] y2=$[yyyy % 100] y3=$[yyyy % 400] if...
偶需要计算指定日期的前一天和后一天, 但不知道怎么引用变量数组, 如:
Days=(31,28,31,30,31,30,31,31,30,31,30,31)
yyyy=`echo $1 |cut -c1-4`
mm=`echo $1 |cut -c5-6`
dd=`echo $1 |cut -c7-8`
y1=$[yyyy % 4]
y2=$[yyyy % 100]
y3=$[yyyy % 400]
if [ $y1 == 0 ]; then
if [ $y2 != 0 -o $y3 == 0 ]; then
#怎么写代码可以将 Days[2] 的值由 28 改为 29?
fi
fi
另外一点, 怎么将这句 C 代码改为一行 Shell 代码?
if ( year % 4 == 0 && ( year % 100 != 0 || year % 400 == 0 ) )
恳请各位 DX 们帮忙, 谢谢!
Days=(31,28,31,30,31,30,31,31,30,31,30,31)
yyyy=`echo $1 |cut -c1-4`
mm=`echo $1 |cut -c5-6`
dd=`echo $1 |cut -c7-8`
y1=$[yyyy % 4]
y2=$[yyyy % 100]
y3=$[yyyy % 400]
if [ $y1 == 0 ]; then
if [ $y2 != 0 -o $y3 == 0 ]; then
#怎么写代码可以将 Days[2] 的值由 28 改为 29?
fi
fi
另外一点, 怎么将这句 C 代码改为一行 Shell 代码?
if ( year % 4 == 0 && ( year % 100 != 0 || year % 400 == 0 ) )
恳请各位 DX 们帮忙, 谢谢!
|
$((y%4==0&&y%100!=0||y%400==0))
|
如果赋值
Days[1]=29
我不知道你的shell是什么
Days[1]=29
我不知道你的shell是什么
|
怎么可能?
#!/bin/bash
a[1]=4
echo ${a[1]}
#!/bin/bash
a[1]=4
echo ${a[1]}
|
shell里面不能直接%吧,要用expr事先算出来。
|
我用的是bash数组使用:
#!/bin/bash
a[1]="a"
a[2]="b"
a[3]="c"
for((i=1; i
#!/bin/bash
a[1]="a"
a[2]="b"
a[3]="c"
for((i=1; i