Как можно получить вывод `uname` изменяются в виртуальной машине после исправления насильника после физического сервера?

awk может выводить текст, нет необходимости в echo или xargs. Ваш подход имеет проблемы для имен файлов с более чем одной точкой, например foo-1.2.txt.

Он также будет иметь проблемы для имен файлов с новыми строками в них или если есть каталоги, имя которых заканчивается на .txt.

Для начала, я бы использовал здесь цикл, например, в zsh:

(set -o noclobber; for f (*.txt(N)) echo abracadabra > $f:r.test)

Или POSIXly:

(set -o noclobber
 for f in *.txt; do
   echo abracadabra > "${f%.*}.test"
 done)

noclobber - чтобы избежать переопределения уже существующего файла. Обратите внимание, что он не учитывает скрытые файлы. Если нет txt файла, он создаст *.test файл.

0
07.09.2018, 11:48
2 ответа

Обновление ядра изменит выводuname(или, по крайней мере, uname -vиuname -a).

Если вы используете полноценную виртуальную машину, это должно измениться только при обновлении ядра на виртуальной машине.

Но есть много систем хостинга, использующих внешнее ядро ​​:, включая контейнеры, а также OpenVZ. Скорее всего вы его используете.

1
28.01.2020, 02:42

Существует альтернативная возможность, помимо фактического изменения ядра.

Имя хоста — это то, что unameможет выводить. Если перед перезагрузкой вы обновили статическое имя хоста (, то есть то, которое хранится в файле конфигурации ), но не обновили динамическое имя хоста (, то есть то, которое хранится в памяти ядра ), то перезапуск даст разные результаты uname -aдо и после.

Дополнительная литература

0
28.01.2020, 02:42

Теги

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