Если я понял Ваш вопрос правильно, попробуйте это:
C (это - капитал C) удалит все из курсора в конец строки и поместит Вас в РЕЖИМ ВСТАВКИ, затем Вы пишете свою замену, оставляете РЕЖИМ ВСТАВКИ, используете. повторить процесс где-то в другом месте.
Вы, кажется, выполняете первый пример в bash
, и второе в том, чем указывают /bin/sh
, который является оболочкой POSIX, требующей, чтобы аргумент был передан, указав переменную, Вы хотите поместить вход в. Изменение хижины к #!/bin/bash
должен зафиксировать это.
В sh синтаксисе Вам нужно
IFS= read -r REPLY
Некоторые оболочки как ksh, удар и zsh позволяют read
быть названным без имени переменной, но поведения отличается между ними. Посмотрите, например, вывод
printf 'te\ st\\\na ' | "$shell" -c 'read; printf "%s\n" "<$REPLY>"'
расходясь во всем ударе, zsh, pdksh и ksh93
sh
иbash
. – invert 12.11.2012, 20:32/bin/sh
чтобы колотить, но думать, я просто использовал бы удар непосредственно с этого времени, для предотвращения неоднозначности. Спасибо :) – invert 12.11.2012, 20:46