что не так с этим шелл-скриптом
Вопрос
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