سؤال

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/'
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top