- Community Home
- >
- HPE Community, Taiwan
- >
- HP-UX
- >
- 程式語言
- >
- which "CMD" 執行後的狀態為何都為0?
類別
Company
Local Language
論壇
討論平台
論壇
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
討論平台
論壇
討論平台
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
論壇
部落格
- 訂閱此主題的RSS 提要
- 將此主題標記為未讀
- 將主題標記為已讀
- 將主題在本帳號置頂
- 標示為書籤
- 訂閱此主題
- 列印此頁
- 將文章標記為未讀
- 標示為書籤
- 訂閱此主題
- 靜音
- 訂閱此主題的RSS 提要
- 高亮顯示此文章
- 列印此文章
- 提報不當內容
在 05-15-2007 03:26 PM
在 05-15-2007 03:26 PM
which "CMD" 執行後的狀態為何都為0?
例如
unixt:/#ls aaa
aaa not found
unix:/#echo $?
2
可是
unixt08e:/#which aaa
no aaa in /usr/sbin /usr/bin ...(略)
unixt08e:/#echo $?
0
這是我用法不對還是...?這樣要怎麼判別狀態啊?該不會我一個script 就只能在一台使用?每次都要自己修改?
- 標籤:
- which
- 將文章標記為未讀
- 標示為書籤
- 訂閱此主題
- 靜音
- 訂閱此主題的RSS 提要
- 高亮顯示此文章
- 列印此文章
- 提報不當內容
在 05-15-2007 04:05 PM
在 05-15-2007 04:05 PM
which "CMD" 執行後的狀態為何都為0?
大部分都在中下段, 會告訴你0, 1, 2 or 0, <>0代表什麼.
在unix shell中, 不見得a方法回覆出來的結果符合你的需要,但是你可以試著用b方法得到你要的答案. 加油囉.
- 將文章標記為未讀
- 標示為書籤
- 訂閱此主題
- 靜音
- 訂閱此主題的RSS 提要
- 高亮顯示此文章
- 列印此文章
- 提報不當內容
在 05-16-2007 06:50 AM
在 05-16-2007 06:50 AM
which "CMD" 執行後的狀態為何都為0?
我的意思是,基本上$?是回應上次指令的終止碼,這應該大
"which 正確指令" 或是 "which 錯誤指令"
理論上,兩個指令的終止碼應該是不同才對,因為後者是「錯誤結束」,所以前者echo $? 是顯示 0,後者 echo $? 應該是顯示 1 才對。
(其實不光是 which,whereis、find 也是一樣,無論如何 $? 都是出現0,如果再透過 grep 抓取結果,才會出現 1)
HP-UX 這方面的判斷支援該不會比廉價的 FreeBSD、Linux 還不準確吧?
當然是可以用其他寫法,可是這樣的解決方式似乎有點消極?
- 將文章標記為未讀
- 標示為書籤
- 訂閱此主題
- 靜音
- 訂閱此主題的RSS 提要
- 高亮顯示此文章
- 列印此文章
- 提報不當內容
在 05-17-2007 02:40 PM
在 05-17-2007 02:40 PM
which "CMD" 執行後的狀態為何都為0?
這是which指令的缺陷
如果你仔細研究,其實which是一支CSH script
return value顯示0是代表這支script執行完畢,不是找到檔案
不只是HP-UX,SUN也有相同的問題
但是在Linux這個指令已經補強了
- 將文章標記為未讀
- 標示為書籤
- 訂閱此主題
- 靜音
- 訂閱此主題的RSS 提要
- 高亮顯示此文章
- 列印此文章
- 提報不當內容
在 05-17-2007 02:56 PM
在 05-17-2007 02:56 PM
which "CMD" 執行後的狀態為何都為0?
我想說他是 binary 檔,所以沒有看過~
請問...如果這樣的話,那我們能去對他做修改還是...這樣會影響保固嗎?
像 whereis 他是 binary 檔案,那有沒有什麼建議的方式修正呢?
- 將文章標記為未讀
- 標示為書籤
- 訂閱此主題
- 靜音
- 訂閱此主題的RSS 提要
- 高亮顯示此文章
- 列印此文章
- 提報不當內容
在 05-18-2007 02:12 PM
在 05-18-2007 02:12 PM
which "CMD" 執行後的狀態為何都為0?
我想HP不會建議user修改任何/usr/bin下的程式
可是我們可以改寫成一支新的且符合自己需求的程式
若是現有的指令不敷使用時,我會建議另外寫適合的程式來取代
Hope it helps