我有一個UNIX命令序列的特定數量的雲一樣的東西:運行UNIX shell命令,如果輸出不具有行
command1 | command2 | command3 | wc -l
現在,我有行數,我如果行數不等於特定的數字,那麼我想做一些事情(運行沒有輸入的特定命令)。我的shell腳本非常生疏(可能10年或更長時間,因爲我做了很多Unix工作),所以我不知道如何將這種條件添加到命令序列中。有人知道嗎?
我有一個UNIX命令序列的特定數量的雲一樣的東西:運行UNIX shell命令,如果輸出不具有行
command1 | command2 | command3 | wc -l
現在,我有行數,我如果行數不等於特定的數字,那麼我想做一些事情(運行沒有輸入的特定命令)。我的shell腳本非常生疏(可能10年或更長時間,因爲我做了很多Unix工作),所以我不知道如何將這種條件添加到命令序列中。有人知道嗎?
還挺難看..但是這個工作。
# test $(seq 10 | wc -l) -eq 10 && echo "there's 10"
there's 10
# test $(seq 11 | wc -l) -eq 10 && echo "there's 10"
什麼的echo
版在第二種情況下
numberOfLines=$(command1 | command2 | command3 | wc -l)
if [ "${numberOfLines}" == "7" ]; then
echo "Hooray."
fi
你需要捕捉到你的wc
命令的輸出,並使用if
運行另一個命令,如果它不等於你想要線,如人數:
count=$(command1 | command2 | command3 | wc -l)
if [[ $count -ne 19 ]] ; then
command4
fi
+1讓我想起了我的大學時代,當我們的UNIX編程教練勸我們不要說出我們編譯的程序「測試」的數值比較 – 2009-08-25 15:07:59
。 – quillbreaker 2009-08-25 15:05:05
似乎我需要反引號而不是$()語法爲csh,但否則這很好。謝謝。 – quillbreaker 2009-08-25 16:32:27
你給他們命名? ..我對'a.out'感到滿意:p – eduffy 2009-08-25 20:43:12