Это не работает потому что read
выполнения в дочернем процессе, который не может влиять на среду родителя.
У Вас есть несколько опций:
Можно преобразовать команду в:
w1=$(echo "one two three four" | awk '{print $2}')
w2=$(echo "one two three four" | awk '{print $4}')
С другой стороны, измените IFS и использование set
:
OIFS="$IFS"
IFS=' '
set -- $(echo "one two three four" | awk '{print $2" "$4}')
IFS="$OIFS"
w1=$1 w2=$2
или здесь представьте в виде строки:
read w1 w2 w3 w4 <<< "one two three four"
Согласно моему (интерпретация, по крайней мере) страницы справочника, -fs
опция на ppmquant
не берет аргумент; ncolors
аргумент является отдельным. Отделитесь -fs 223
. Не уверенный, будет ли это заботиться об ошибке магического числа также.