मेरे पास एक बहुस्तरीय चर है, और मैं केवल उस चर में पहली पंक्ति चाहता हूं। निम्न स्क्रिप्ट समस्या प्रदर्शित करता है:
#!/bin/bash
STRINGTEST="Onlygetthefirstline
butnotthesecond
orthethird"
echo " Take the first line and send to standard output:"
echo ${STRINGTEST%%$'\n'*}
# Output is as follows:
# Onlygetthefirstline
echo " Set the value of the variable to the first line of the variable:"
STRINGTEST=${STRINGTEST%%$'\n'*}
echo " Send the modified variable to standard output:"
echo $STRINGTEST
# Output is as follows:
# Onlygetthefirstline butnotthesecond orthethird
प्रश्न: कमांड के ${STRINGTEST%%$'\n'*}बाद रखे जाने पर पहली पंक्ति क्यों echoलौटती है, लेकिन असाइनमेंट के बाद रिक्त स्थान के साथ नई लाइनों को प्रतिस्थापित करें?
$'...'जो बैश के बजाय समर्थन नहीं करता है ।