是的,我正在使用 csh。不,我沒有選擇。
我目前正試圖使用今天的日期來計算昨天的日期。
然而,當今天是一個月的第一天時,我使用的開關試圖設定 "日 "的數字,卻出現了錯誤Case: Too many arguments
。
以下是我的代碼片段:
#!/bin/csh
set todaysMonth = `date ' %m'/span>`
set todaysDay = `date ' %d'`。
set todaysYear = `date ' %Y'`。
set yestMonth
set yestDay
set yestYear
set todaysMonth = 1
set todaysDay = 1
if ($todaysDay == 1) then
switch ($todaysMonth)
case 5:
case 7:
case 10:
case 12: set yestDay = 30
休息時間
case 1:
case 2:
case 4:
case 6:
case 8:
case 9:
case 11: set yestDay = 31
休息時間
case 3: # 現在不關心閏年。
echo "Setting yestDay to 28"
set yestDay = 28
突破
默認情況下。echo "未能設定estDay"
結束
echo "Today:"/span> $todaysDay
echo "yesterday:" $yestDay
endif
輸出。情況:引數太多
有沒有人知道是什么原因?
有誰知道發生了什么事嗎?
uj5u.com熱心網友回復:
它不是:
case <arg> : <command>
它是:
case <arg> 。
<command>
手冊頁確實顯示了這一點,但它沒有告訴你如果你不這樣做會出錯。
你需要這樣做。
你需要在4行中這樣做。
而且你需要一個endif。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/309912.html
標籤:
