Ответ Стива Вита объясняет, что происходит. Ваш конвейер может быть упрощен, хотя. В вашем заявлении на awk, поскольку ваш разделитель равен :
, вы можете сказать awk -F: '$1 == "changeset" {print $2}'
. Кроме того, поскольку awk и sed имеют много перекрывающихся функций, вы можете написать (все по одной строке, если хотите):
export changeset=$(
hg parents |
awk -F: '$1 == "changeset" {gsub(/ /, "", $2); print $2; exit}'
)