docker: Ответ об ошибке от демона: Ошибка создания среды выполнения OCI: container_linux.go:345

Вроде file2.cдолжно быть:

int b=NULL;
int a;

, а не копия file1.c.

С этим изменением мы можем понять, что file0.cявляется общим предком («база слияния» )для file1.cи file2.c, каждая из которых исправляет половину ошибки использования NULLдля инициализации intпеременных.

Если бы изменения не были такими близкими друг к другу, мы могли бы использовать diff3 -m file1.c file0.c file2.c. Увы, это просто выведет маркер конфликта.

Однако, если мы знаем, что происходит не что иное, как одна -замена строк, то есть линии не добавляются, не удаляются и не перемещаются, а только закрепляются на месте, мы можем получить две дельты 0 -1 и 0 -2, поскольку скрипт edотличается от diff -e. Мы можем сцепить эти сценарии, а затем использовать edдля их применения.

Во-первых, давайте сделаем копию file0.cс именем test.c. Мы попробуем применить эти изменения кtest.c:

$ cp file0.c test.c

Итак,соберем нашивки в стиле ed:

$ (diff -e file0.c file1.c ; diff -e file0.c file2.c) > patch

Как они выглядят?

$ cat patch
1c
int b;
.
2c
int a;
.

Это очень похоже на правильные команды для превращения test.cв желаемый объединенный файл. Чего не хватает, так это wqдля сохранения:

$ echo wq >> patch

Теперь попробуем:

$ cat test.c
int b=NULL;
int a=NULL;
$ ed test.c < patch
ed test.c < patch
24
14
$ cat test.c
int b;
int a;

Готово.

2
03.09.2019, 03:51
1 ответ

Выполнение:

docker run -it pyimg ipython

Подразумевается, что iphythonустановлен на вашей операционной системе. То есть на вашем MacOS, как вы заявили. Если iphythonустановлен, запустите его с помощью переключателя privileged:

.
docker run -it --privileged pyimg ipython
0
27.01.2020, 22:24

Теги

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