Я только что снова столкнулся с той же проблемой, и на этот раз я не смог реорганизовать входные данные, чтобы сделать это decimal
.
Если никто другой не может показать обратное, внутренний printf
в BASH в режиме SH можетне печатать символы "\xFF", несмотря на то, что говорится в руководстве и на страницах справки. Я бы сказал, что это ошибка, по крайней мере, в BASH.
#!/bin/sh
printf "\x46\x47"
Если вы удалите кавычки из строки, оболочка уберет их без обработки части x
.
Что тогда работает?:
#!/bin/sh
PF=`which printf`
$PF "\x46\x47"
Таким образом, текущее решение, если у вас есть только шестнадцатеричныйкактекст , и вы хотите символ или байт , передать каждый (текст )байт в файл скрипта (, как показано во втором коде )с \x
добавленным (перед )каждым значением, chmod
скрипт внутри вашего скрипта, затем выполнить сценарий на следующей строке и удалить сценарий, если это необходимо.
if I do an lsmod | grep my_module_$kernelVer
Хорошо, это вызов модуля оболочки . Это должна быть оболочка, потому что вы используете |
, а это конструкция оболочки.
I know how to do it in bash but I am not sure how to store a specific value with ansible and the register command and I am just learning ansible.
Вы можете использоватьregister
для захвата результатов команды и обращаться к ним позже.http://www.mydailytutorials.com/ansible-register-variables/стоит прочитать.
После всего сказанного, вы действительно уверены, что вас так волнует совпадение? Хорошо, допустим, модуль, который не загружается, может быть большой проблемой для вас. Но вы все равно тестируете обновления ядра, верно? В конце концов, методология, которую вы определяете здесь , удаляет загруженный модуль для создания нового. В прошлом я загружал сторонние модули, у которых даже не было версии ядра в названии, и, честно говоря, я предпочитаю это. Я не эксперт по модулям ядра, но стоит подумать о том, чтобы не связывать версии ядра и версии модулей.