Я хочу преобразовать строку, заданную в этой форме:
xyx some commands
в эту форму:
alias xyz="some commands"
Я пробовал разные комбинации в терминале.Кажется (я не уверен), что это сработало один раз, но никогда, когда я запускаю это из скрипта.Я где-то читал, что это проблема переменной.
Псевдоним для читабельности:
alias first="sed 's/\s.*//'"
alias rest="sed 's/\S*\s*//'"
cat f_in | tee -a >(one=$(first)) >(two=$(rest)) | tee >(awk '{print "alias "$1"=\""$2"\""}' > f_out )
Я использовал awk
таким образом, чтобы разобрать "cat f_in
" в "print
».Не работаетЗатем я использовал "awk -v
", но он все еще не работает.Как перенаправить переменные $one
и $two
в awk:
{one=$(first)
=== first | read -r one
}?