Удостоверяясь команда выполнилась в ударе

Просто откройте конечный файл в режиме чтения-записи с <> оператор перенаправления оболочки вместо только для записи с усечением с >:

Принятие Вас хочет записать file2 сверху file1:

cat file2 1<> file1

Это записало бы file2 в file1 при смещении 0 (вначале).

Если Вы хотите добавить file2 в конце file1, используйте >> оператор.

cat file2 >> file1

Можно также записать file2 при любом смещении в file1 с:

{ head -c1000 # for 1000 bytes within or
  # head -n 10 # for 10 lines within
  cat file2 >&0
} <> file1 > /dev/null

Хотя для байтовых смещений, Вы, вероятно, найдете использование Warren's dd решения быть более удобным.

7
13.03.2014, 01:31
2 ответа
[115398]Оболочки собраны так, чтобы сделать это легко.

Иногда можно найти какую-нибудь проприетарную команду, которая не выходит со статусом 0 на успехе и ненулевым на неудачу, но, к счастью, эти аббревиатуры почти вымерли.[115401]

12
27.01.2020, 20:14
[115378] Переменная bash [115766]$?[115767] сохраняет статус выхода последней команды. Для типичных программ значение [115768]0[115769] является успешным, а любое другое значение - неудачным. Конкретный код возврата должен быть документирован в man-страницах соответствующих программ.

Можно использовать код типа:

Для проверки кода возврата, а затем распечатать сообщение об ошибке и иметь скриптовый выход с таким же кодом ошибки.[115383].

9
27.01.2020, 20:14

Теги

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