जैसा कि थॉमस डिकी ने कहा, किसी भी पोसिक्स शेल (यानी उनमें से बहुत अधिक) होगा $?।
इस सवाल ने मुझे बहुत रूचि दी, इसलिए मैंने इसे अपने हाथों से प्राप्त होने वाले किसी भी शेल पर परीक्षण किया:
mksh
zsh
/bin/sh मेरे सैमसंग गैलेक्सी S5 पर
/bin/sh मेरे राउटर पर
tcsh
ksh
dash
/bin/sh 1989 से मेरे वर्चुअल यूनिक्स सिस्टम V पर
cmd.exeऔर powershell.exeमेरे विंडोज 10 कंप्यूटर पर
और $?इन लेकिन के सभी में काम किया है fishऔर cmd.exe।
मिली दो दिलचस्प बातें:
1. $?विंडोज पॉवरशेल में काम करता है!
खैर, एक बिंदु पर। 0 या अधिक संख्या में लौटने के बजाय, यह सिर्फ Trueऔर है False।
PS C:\WINDOWS\system32> echo $?
True
PS C:\WINDOWS\system32> gfdhgfhfdgfdg
gfdhgfhfdgfdg : The term 'gfdhgfhfdgfdg' is not recognized as the name of a cmdlet, ...(big long error output).....
PS C:\WINDOWS\system32> echo $?
False
2. $?शेल में काम नहीं करता है fish।
हालाँकि, जब आप $?मछली टाइप करते हैं, तो आपको यह संदेश मिलता है:
~$ echo $?
$? is not the exit status. In fish, please use $status.
fish: echo $?
मैंने इसका ज्यादा इस्तेमाल नहीं किया है, लेकिन मैं हैरान नहीं हूं, fishलगता है कि इसकी अपनी दिलचस्प खोल भाषा है, bashजो पूरी तरह से अलग है या जो भी हो।