drvfn Ответов: 1

Может ли кто-нибудь объяснить мне, что делает этот код?


Привет

Я совершенно не разбираюсь в таком коде, кто-нибудь может объяснить мне этот код? я думаю, что этот код сравнивает серийный номер. но я не разбираю его строчка за строчкой.

if [ -f /opt/k/newApp/kCfg.jar ]; 
then 
   sudo mv /opt/k/newApp/kCfg.jar /opt/k/kCfg.jar 
fi 
sn=$(grep -Po '^Serial\s*:\s*\K[[:xdigit:]]{16}' /proc/cpuinfo) 
sudo java -jar /opt/ka/kCfg.jar -S$sn & 
chromium -kiosk -incognito http://testserver/Default.aspx?serial=$sn


спасибо

Что я уже пробовал:

я думаю, что этот код сравнивает серийный номер. но я не разбираю его строчка за строчкой.

1 Ответов

Рейтинг:
8

k5054

Это довольно прямолинейный сценарий оболочки:

то [ -f ... ] выражение-это тест, в данном случае -f тесты на существование файлов (см. испытание человека)
если тест пройдет успешно, то мы получим привилегии root через sudo и переместите новый исполняемый файл в нужное положение

Эта линия

sn=$(grep -Po '^Serial\s*:\s*\K[[:xdigit:]]{16}' /proc/cpuinfo)
запускает grep-файл /proc/cpuinfo в суб-оболочке (это то, что делает $ (), также записанный с обратными галочками `) для серийного номера и присваивает значение переменной sn
затем мы запускаем программу java, опять же от имени root
и, наконец, мы запускаем chromium в режиме киоска, начиная страницу инкогнито при запуске с данного веб-сайта.