Question

market_l="${echo $1 | awk '{print tolower($0)}'}"
echo $market_l

quand j'exécute ce son me donner une erreur ci-dessous:

./test: market_l="${echo $1 | awk '{print tolower($0)}'}": The specified substitution is not valid for this command.
Était-ce utile?

La solution

Vouliez-vous dire à utiliser l'opérateur $() au lieu de ${}?

Autres conseils

vous devez utiliser $() pour affecter la sortie à une variable. pas ${}

market_l="$(echo $1 | awk '{print tolower($0)}')"

ou vous pouvez le faire avec ksh

#!/bin/ksh
typeset -l market_l
market_l="$1"
echo $market_l

D'autres façons de changer la casse en plus awk, FYI

$ echo "$1"|tr [A-Z] [a-z]

$ echo "$1"|sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top