जैसा कि थॉमस डिकी ने कहा, किसी भी पोसिक्स शेल (यानी उनमें से बहुत अधिक) होगा $?
।
इस सवाल ने मुझे बहुत रूचि दी, इसलिए मैंने इसे अपने हाथों से प्राप्त होने वाले किसी भी शेल पर परीक्षण किया:
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
जो पूरी तरह से अलग है या जो भी हो।