Для всех, кто сталкивается с подобной проблемой, в данном конкретном случае проблема была вызвана ошибкой в виртуальной машине Ruby версии 1.27.4, которая была установлена на этих облачных серверах как часть образа.
Ошибка RVM заключалась в сценариях, которые переопределяли обычные функции (, такие как cd ), где SIGINT перехватывался, но не освобождался при очистке. Более подробную информацию можно найти здесь Ошибка Ruby RVM
Исправление в этом случае заключалось в обновлении RVM до последней стабильной версии (, в данном случае 1.29.7 ).
curl -sSL https://get.rvm.io | bash -s stable --ruby
Спасибо mosvy за указатель.
Вы действительно наткнулись на оболочку , а не на изд. Это
echo -e "$-2,$m0\n,p\nQ"
означает, что $-
и $m0
подвергаются расширению параметров, так как они заключены в двойные кавычки. Запустите echo "$-"
и echo "$m0"
, чтобы убедиться в этом. Они должны быть заключены в одинарные кавычки, чтобы оболочка не расширяла их.
Поскольку мы исправляем это, давайте также отдадим предпочтение printf
надecho
. Последний имеет неравномерное -поведение в разных реализациях, в то время как первый является надежным. Это должно делать:
printf '%s\n' '$-2,$m0' ',p' 'Q' | ed -s <(program | awk...)
Опция-s
была добавлена в ed, чтобы «подавить диагностику, подсчет байтов и '!' быстрый". Это чисто косметическое.
Пример выполнения (с бесполезным использованием cat для имитации замены процесса):
$ cat input
ATOM 126 CD GLN A 449 -2.853 11.592 119.709 1.00 17.95 C
ATOM 127 OE1 GLN A 449 -4.056 11.297 119.695 1.00 20.83 O
ATOM 128 NE2 GLN A 449 -1.948 10.876 120.359 1.00 14.98 N
HETATM 129 N MSE A 450 -4.523 16.830 119.280 1.00 14.88 N
HETATM 130 CA MSE A 450 -5.537 17.804 118.911 1.00 15.65 C
$ printf '%s\n' '$-2,$m0' ',p' 'Q' | ed -s <(cat input)
ATOM 128 NE2 GLN A 449 -1.948 10.876 120.359 1.00 14.98 N
HETATM 129 N MSE A 450 -4.523 16.830 119.280 1.00 14.88 N
HETATM 130 CA MSE A 450 -5.537 17.804 118.911 1.00 15.65 C
ATOM 126 CD GLN A 449 -2.853 11.592 119.709 1.00 17.95 C
ATOM 127 OE1 GLN A 449 -4.056 11.297 119.695 1.00 20.83 O