नीचे दिखाए गए इनपुट के रूप में !clear
पास करते समय नीचे दिए गए जावा कोड दो तर्क प्रिंट करता है।यह जावा कोड दो तर्क क्यों प्रिंट करता है?
class Test{
public static void main(final String... arguments){
for(String argument : arguments){
System.out.println(argument);
}
}
}
आउटपुट:
$ java Test !clear
java Test clear
clear
अद्यतन
clear
के स्थान पर किसी भी linux कमांड का उपयोग करते हुए एक ही परिणाम पैदा करता है।
$ java Test !pwd
java Test pwd
pwd
$ java Test !ls
java Test ls
ls
मुझे पता है कि इसने इतिहास में विस्तार के साथ कुछ करने के लिए कुछ किया है और मैं बच सकता हूं! इस मुद्दे को हल करने के लिए चरित्र।
हालांकि, मुझे सटीक कारण जानने के लिए उत्सुकता है कि यह कोड आउटपुट के रूप में उपरोक्त दो पंक्तियों को क्यों प्रिंट करता है। क्या कोई कृपया समझा सकता है?
[यह आपको समझने में मदद कर सकता है] (https://stackoverflow.com/a/2718887/2749470) –
@ पी.एएन आप '$' का वर्णन कर रहे हैं, न कि '!'। '$ foo' परिवर्तनीय विस्तार करता है। 'foo' इतिहास विस्तार करता है। –