यह बैश गाइड कहता है:
यदि अनुक्रमणिका संख्या @ या * है, तो किसी सरणी के सभी सदस्यों को संदर्भित किया जाता है।
जब मैं ऐसा करता हूं:
LIST=(1 2 3)
for i in "${LIST[@]}"; do
echo "example.$i "
done
देता है: example.1 example.2 example.3
(वांछित परिणाम)।
लेकिन जब मैं उपयोग करता हूं ${LIST[*]}
, तो मुझे example.1 2 3
इसके बजाय मिलता है ।
क्यों?
संपादित करें: प्रिंटफ़ का उपयोग करते समय, @ और * वास्तव में समान परिणाम देते हैं।
मेरा उदाहरण गलत था, यह वास्तव में केवल साथ होता है
—
अर्जन
echo
, साथ नहीं printf
, मैंने सिर्फ देखा।
के संभावित डुप्लिकेट क्या $ * और $ के बीच अंतर है @?
—
गोल्डीलॉक्स
@goldilocks अन्य प्रश्न के बारे में है
—
स्टीफन चेज़लस
$*
और $@
। हालाँकि, उत्तर समान होगा और एक प्रश्न को दूसरे का सबसेट माना जा सकता है, वे अलग-अलग प्रश्न हैं।
echo $SHELL
अपने आउटपुट को रन करें और पेस्ट करें।