[Linux] BASH 的 exit 回傳值範圍

[Linux] BASH 的 exit 回傳值範圍

之前都在寫 Windows 程式的時候,因為也不常需要去接其他程式的執行回傳值,

因此一直也沒有在意過它的範圍(因為通常都是回傳個 0, -1, 1, 2 之類的)…

今天在 Linux 上面寫 python 程式時,才突然發現回傳值是有範圍限制的!

 

像我原本在 python 裡面,很高興的寫 exit(10001) 之類的程式,

卻發現在 Linux bash 上,用 echo $? 去看回傳值時,

值變成了 17,並不是我想像的 10001?!

 

查了一下,原來回傳值有 0-255 的範圍限制

因此原本的 10001 = 16進位的 2711,

被截成 byte 之後就是 16 進位的 11 = 10進位的 17,

真相總算大白囉~~

(本頁面已被瀏覽過 17 次)

發表迴響

你的電子郵件位址並不會被公開。