亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 16055 | 回復(fù): 10
打印 上一主題 下一主題

shell有try。。。catch。。。嗎? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2010-07-23 14:27 |只看該作者 |倒序瀏覽
想寫一段代碼如下,判斷當(dāng)遇到日期DAY值大于31的情況就跳過,只有在DAY值小于等于31時才輸出。
  1. for DATE in {20100731..20100802};do
  2.         DAY=`date -d $DATE +%d`
  3.         if [[ $DAY -gt 31 ]]; then
  4.                 continue;
  5.         fi
  6.         echo $DAY
  7. done
復(fù)制代碼
但是在DAY=`date -d $DATE +%d`這一行,當(dāng)shell遇到不能轉(zhuǎn)化為DAY的值,就已報錯:
date: invalid date `20100760'
test.sh: line 5: [: -gt: unary operator expected

所以想讓shell在遇到這種報錯的時候就跳過本輪循環(huán)(類似于java的try。。catch),能否做到?

論壇徽章:
0
2 [報告]
發(fā)表于 2010-07-23 14:39 |只看該作者
本帖最后由 lkk2003rty 于 2010-07-23 14:41 編輯
  1. #!/bin/bash
  2. for DATE in {20100731..20100802};do
  3.         DAY=`date -d $DATE +%d 2>/dev/null` || continue
  4.         echo $DAY
  5. done
復(fù)制代碼

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
3 [報告]
發(fā)表于 2010-07-23 14:42 |只看該作者
具體到你這個,我覺得用cut取出后兩位比用date強

論壇徽章:
0
4 [報告]
發(fā)表于 2010-07-23 14:49 |只看該作者
回復(fù) 1# dickgz1z


    Date -d '******'
   if [ $? -ne 0 ] ; then
     echo "date failed ."
  fi

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
5 [報告]
發(fā)表于 2010-07-23 14:54 |只看該作者

  1. #!/bin/bash
  2. for DATE in {20100731..20100802};do
  3.         DAY=`echo $DATE | cut -b 7-`
  4.         if [[ $DAY -le 31 ]] && [[ $DAY -ne 00 ]]; then
  5.         echo $DAY
  6.         fi
  7. done
復(fù)制代碼

論壇徽章:
0
6 [報告]
發(fā)表于 2010-07-23 16:46 |只看該作者
或者你對DATE的值先判斷如果怎么樣就怎么樣

論壇徽章:
0
7 [報告]
發(fā)表于 2010-07-23 16:58 |只看該作者
本帖最后由 kwaz 于 2010-07-23 16:59 編輯

腳本語言畢竟不是真正的開發(fā)語言,shell沒有try---catch的。

這個可以解決,5樓的正解.

但想問的是,為什么要以31來判斷,你不會31后面還有32.....,直到99吧?

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
8 [報告]
發(fā)表于 2010-07-23 17:13 |只看該作者
腳本語言畢竟不是真正的開發(fā)語言,shell沒有try---catch的。

這個可以解決,5樓的正解.

但想問的是,為 ...
kwaz 發(fā)表于 2010-07-23 16:58


因為樓主是這樣的
  1. for DATE in {20100731..20100802}
復(fù)制代碼
當(dāng)然會有不是正常日期的數(shù)字

論壇徽章:
0
9 [報告]
發(fā)表于 2010-07-24 13:10 |只看該作者
python里有,shell里沒有!

論壇徽章:
0
10 [報告]
發(fā)表于 2010-07-25 20:40 |只看該作者
python里是
try {

}
except {

}
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP