Perl: ipc :: run uppling Проблемы со специальными символами, команды не работаютLinux

Ответить
Anonymous
 Perl: ipc :: run uppling Проблемы со специальными символами, команды не работают

Сообщение Anonymous »

У меня возникают проблемы с запуском команд с использованием ipc :: запустить со специальными символами, в моем текущем случае 'и *< /p>
Используемые команды: < /p>

Код: Выделить всё

apt-get -y --allow-unauthenticated -o Dpkg::lock::timeout=0 install /tmp/archive-keyring*.deb

(файл /tmp/archive-keyring_2022.04.01~tux_all.deb существует)
и

Код: Выделить всё

dpkg-query -f '${db:Status-Abbrev} ${Package} ${Version}\n' -W 'archive-keyring'

Работайте без проблем при использовании в CLI с sudo . Конечно, этот сценарий должен быть запущен как sudo . Если это помогает, я использую систему Ubuntu. < /P>
Модуль, который я использую,-это либит-по или иная версия 20231003.0-1 < /p>
Здесь пример сценария: < /p>

Код: Выделить всё

#!/usr/bin/perl -w
use strict qw(vars subs);
use warnings;
use IPC::Run qw( run timeout );
use Data::Dumper;

# for debugging
$ENV{IPCRUNDEBUG} = 'data';

sub startProgram {
my ($subOutput, $subErrors, $subTimeout, $subReturnValue, @subCommand) = @_;
# for debug
print Dumper(@subCommand);
my $runExitCode = q{};
eval {
# undef has to be \undef !!
$runExitCode = run \@subCommand, \undef, $subOutput, $subErrors, timeout ( $subTimeout, exception=>'timeout' );
};

if ($@ =~ /timeout/) {
$subReturnValue = exitCode();
print "Timed out...\n";
} else {
$subReturnValue = exitCode();
print "Completed task without timeout\n";
}
print   "output: >$$subOutput$$subErrors$subReturnValue$runExitCode

Подробнее здесь: [url]https://stackoverflow.com/questions/79705359/perl-ipcrun-escaping-problems-with-special-characters-commands-not-working[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»