ما هو الخطأ في هذا البرنامج النصي
سؤال
market_l="${echo $1 | awk '{print tolower($0)}'}"
echo $market_l
عندما أقوم بتنفيذ هذا ، فإنه يعطيني خطأً أدناه:
./test: market_l="${echo $1 | awk '{print tolower($0)}'}": The specified substitution is not valid for this command.
المحلول
هل قصدت استخدام $()
المشغل بدلا من ${}
?
نصائح أخرى
يجب أن تستخدم $()
لتعيين الإخراج لمتغير. ليس ${}
market_l="$(echo $1 | awk '{print tolower($0)}')"
أو يمكنك القيام بذلك مع KSH
#!/bin/ksh
typeset -l market_l
market_l="$1"
echo $market_l
طرق أخرى لتغيير القضية إلى جانب awk
, ، لمعلوماتك
$ echo "$1"|tr [A-Z] [a-z]
$ echo "$1"|sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'
لا تنتمي إلى StackOverflow