The 1C:Enterprise developers forum

#1
People who like this: 0 Yes / 0 No
Active user
Rating: 2
Joined: Aug 28, 2015
Company:

Hello.
How can i execute a system command on Linux from 1C? The task is to execute the following command:
udevadm info --query=all --name=/dev/sda | grep ID_SERIAL_SHORT
and to get hard drive serial number from 1C. I will be grateful for any help!

 
#2
People who like this: 0 Yes / 0 No
Administrator
Rating: 29
Joined: Oct 3, 2019
Company:

Hello Samir,

you can try to do something like this:


Code
System("udevadm info --query=all --name=/dev/sda | grep ID_SERIAL_SHORT >> temp.txt");
textReader = New TextReader;
textReader.Open("/home/username/temp.txt");
line = textReader.ReadLine();
While line <> Undefined Do 
   
EndDo;


That is, first we give the command to write the serial number of the disk to the file, and then we read the data from this file.

 
#3
People who like this: 0 Yes / 0 No
Active user
Rating: 2
Joined: Jan 17, 2023
Company: Techatom Pvt Ltd

Hello this is Gulshan Negi
Well, to execute a system command on Linux from 1C, you can use the built-in mechanism for running external programs - ShellExecute.
Example:-
CommandText = "udevadm info --query=all --name=/dev/sda | grep ID_SERIAL_SHORT";
ShellExecute(CommandText, "", "", ExecutionMode::Asynchronous);
This code will execute the udevadm info command with the provided parameters and pipe its output to grep ID_SERIAL_SHORT to extract the serial number. The output of the command will be captured by 1C and can be processed further.
I hope it will help.
Thanks

 
Subscribe
Users browsing this topic (guests: 1, registered: 0, hidden: 0)
Be the first to know tips & tricks on business application development!

A confirmation e-mail has been sent to the e-mail address you provided .

Click the link in the e-mail to confirm and activate the subscription.

/* Улучшаем читаемость списков в документации */ .workarea ul, .content ul { margin: 15px 0 20px 25px !important; padding: 0 !important; list-style-type: disc !important; } .workarea li, .content li { margin-bottom: 8px !important; padding-left: 5px !important; line-height: 1.6 !important; } /* Ультимативный фикс для всех уровней заголовков в контенте */ .workarea h1, .workarea h2, .workarea h3, .workarea h4, .workarea h5, .workarea h6, .content h1, .content h2, .content h3, .content h4, .content h5, .content h6, div[id*="content"] h5, div[class*="content"] h5 { display: block !important; font-weight: 700 !important; color: #005aa0 !important; /* Наш фирменный синий */ text-transform: none !important; margin-top: 30px !important; margin-bottom: 15px !important; line-height: 1.2 !important; font-family: Arial, sans-serif !important; } /* Принудительные размеры в пикселях (чтобы не зависеть от % или em) */ .workarea h1, .content h1 { font-size: 28px !important; } .workarea h2, .content h2 { font-size: 24px !important; } .workarea h3, .content h3 { font-size: 21px !important; } .workarea h4, .content h4 { font-size: 19px !important; } .workarea h5, .content h5 { font-size: 18px !important; } /* Для 5 решеток ##### */ .workarea h6, .content h6 { font-size: 16px !important; } /* Фикс, если Битрикс добавил лишние отступы перед списками после заголовка */ .workarea h5 + ul, .content h5 + ul { margin-top: 5px !important; }