Как получить статус выхода при использовании команды sed?

Вам необходимо обновить установку докеров. На домашней странице docker описано, как установить docker-ce.

Выполните шаги к письму: удалите текущий докер, добавьте репозиторий docker-ce, добавьте ключ pgp, затем установите docker-ce

$ sudo apt-get remove --purge docker docker-engine docker.io
$ sudo add-apt-repository \
    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
    $(lsb_release -cs) \
    stable"
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install docker-ce
8
задан 16 May 2018 в 18:55

4 ответа

Вы можете использовать qn для выхода из состояния выхода n, но для того, чтобы сделать это полезным, вам также потребуется использовать ветвь ветвления и управление потоком:

t условно (то есть: перейти к метке ), только если команда s/// преуспела с момента считывания последней строки ввода или была сделана другая условная ветвь.

Лучше всего выбрать значение для n , которое отличается от одного из стандартных значений статуса выхода:

t ветвь условно ( то есть: перейти к метке), только если команда s/// преуспела после того, как была прочитана последняя строка ввода, или была сделана другая условная ветвь.

0
 Successful completion.

1
 Invalid command, invalid syntax, invalid regular expression or a
 GNU 'sed' extension command used with '--posix'.

2
 One or more of the input file specified on the command line could
 not be opened (e.g.  if a file is not found, or read permission is
 denied).  Processing continued with other files.

4
 An I/O error, or a serious processing error during runtime, GNU
 'sed' aborted immediately.

Состояние выхода из нуля указывает на успех, а ненулевое значение указывает на сбой. GNU 'sed' возвращает следующие значения ошибки выхода:

$ echo "foo.bar" | sed 's/bar.*$//; t; q42' ; echo $? 
foo.
0

Так например

$ echo "foo.bar" | sed 's/baz.*$//; t; q42' ; echo $? 
foo.bar
42

, тогда как

11
ответ дан 22 May 2018 в 10:40

Вы можете использовать qn для выхода из состояния выхода n, но для того, чтобы сделать это полезным, вам также потребуется использовать ветвь ветвления и управление потоком:

t условно (то есть: перейти к метке ), только если команда s/// преуспела с момента считывания последней строки ввода или была сделана другая условная ветвь.

Лучше всего выбрать значение для n , которое отличается от одного из стандартных значений статуса выхода:

t ветвь условно ( то есть: перейти к метке), только если команда s/// преуспела после того, как была прочитана последняя строка ввода, или была сделана другая условная ветвь.

0 Successful completion. 1 Invalid command, invalid syntax, invalid regular expression or a GNU 'sed' extension command used with '--posix'. 2 One or more of the input file specified on the command line could not be opened (e.g. if a file is not found, or read permission is denied). Processing continued with other files. 4 An I/O error, or a serious processing error during runtime, GNU 'sed' aborted immediately.

Состояние выхода из нуля указывает на успех, а ненулевое значение указывает на сбой. GNU 'sed' возвращает следующие значения ошибки выхода:

$ echo "foo.bar" | sed 's/bar.*$//; t; q42' ; echo $? foo. 0

Так например

$ echo "foo.bar" | sed 's/baz.*$//; t; q42' ; echo $? foo.bar 42

, тогда как

12
ответ дан 17 July 2018 в 14:09

Вы можете использовать qn для выхода из состояния выхода n, но для того, чтобы сделать это полезным, вам также потребуется использовать ветвь ветвления и управление потоком:

t условно (то есть: перейти к метке ), только если команда s/// преуспела с момента считывания последней строки ввода или была сделана другая условная ветвь.

Лучше всего выбрать значение для n , которое отличается от одного из стандартных значений статуса выхода:

t ветвь условно ( то есть: перейти к метке), только если команда s/// преуспела после того, как была прочитана последняя строка ввода, или была сделана другая условная ветвь.

0 Successful completion. 1 Invalid command, invalid syntax, invalid regular expression or a GNU 'sed' extension command used with '--posix'. 2 One or more of the input file specified on the command line could not be opened (e.g. if a file is not found, or read permission is denied). Processing continued with other files. 4 An I/O error, or a serious processing error during runtime, GNU 'sed' aborted immediately.

Состояние выхода из нуля указывает на успех, а ненулевое значение указывает на сбой. GNU 'sed' возвращает следующие значения ошибки выхода:

$ echo "foo.bar" | sed 's/bar.*$//; t; q42' ; echo $? foo. 0

Так например

$ echo "foo.bar" | sed 's/baz.*$//; t; q42' ; echo $? foo.bar 42

, тогда как

12
ответ дан 20 July 2018 в 14:13

Вы можете использовать qn для выхода из состояния выхода n, но для того, чтобы сделать это полезным, вам также потребуется использовать ветвь ветвления и управление потоком:

t условно (то есть: перейти к метке ), только если команда s/// преуспела с момента считывания последней строки ввода или была сделана другая условная ветвь.

Лучше всего выбрать значение для n , которое отличается от одного из стандартных значений статуса выхода:

t ветвь условно ( то есть: перейти к метке), только если команда s/// преуспела после того, как была прочитана последняя строка ввода, или была сделана другая условная ветвь.

0 Successful completion. 1 Invalid command, invalid syntax, invalid regular expression or a GNU 'sed' extension command used with '--posix'. 2 One or more of the input file specified on the command line could not be opened (e.g. if a file is not found, or read permission is denied). Processing continued with other files. 4 An I/O error, or a serious processing error during runtime, GNU 'sed' aborted immediately.

Состояние выхода из нуля указывает на успех, а ненулевое значение указывает на сбой. GNU 'sed' возвращает следующие значения ошибки выхода:

$ echo "foo.bar" | sed 's/bar.*$//; t; q42' ; echo $? foo. 0

Так например

$ echo "foo.bar" | sed 's/baz.*$//; t; q42' ; echo $? foo.bar 42

, тогда как

12
ответ дан 23 July 2018 в 09:44

Другие вопросы по тегам:

Похожие вопросы: