sed、awk、perl 和 sh 哪個最便攜?
有人可以按可移植性的順序排列這些工具嗎?即使在最小的 nix 系統上也肯定*能找到這些中的哪一個?他們中的任何一個是否 100% 肯定會在場?我的猜測是順序如下:
- awk
- 但
- 噓
- perl
雖然我想有些系統不預設使用 bourne shell,但某些shell 將作為預設設置出現,那會一直在
/bin/sh
嗎?如果它不是伯恩型外殼,大概不會。兩者都有在 POSIX 規範中解釋它們的頁面awk
,sed
因此推測它們將始終存在。是這樣嗎?我可以確定兩者都將安裝在任何 *nix 上嗎?包括嵌入式系統?
sed、awk、perl 和 sh 哪個最便攜?
sed
,sh
並且awk
是由 POSIX 指定的可移植的,perl
並不是沒有標準支持。有人可以按可移植性的順序排列這些工具嗎?
如果您堅持使用兼容程式碼,則三個 POSIX 命令的可移植性應該沒有順序。
即使在最小的 *nix 系統上也肯定能找到這些中的哪一個?
三個 POSIX 以及許多其他實用程序對於作業系統是 POSIX 是強制性的。但是,由於最小化或提供不完整/不合格的實現而缺少其中一些的作業系統確實存在。
實際上,大多數(如果不是全部)免費和開源的 Unix 之類的作業系統如果嘗試通過一致性過程可能不會通過,而且他們也從未嘗試過。
他們中的任何一個是否 100% 肯定會在場?
我會驚訝地發現像 *nix 這樣的 OS 缺少基於 Bourne 語法的 shell,但一切皆有可能,尤其是對於嵌入式系統。
我的猜測是順序如下:預設情況下會出現一些 shell,它會一直在 /bin/sh 嗎?
/bin/sh
很可能是 Bourne 語法家族 shell,但不保證符合 POSIX,即使是符合 POSIX 的系統。例如,它/usr/xpg4/bin/sh
在 Solaris 10 和更早版本上,而/bin/sh
舊的原始 Bourne shell 不是 POSIX。