Я обычно использую size_t
для смещений массива, но если Вы хотите отрицательную индексацию массива, используйте int
. Это в состоянии обратиться к максимальному размерному массиву, гарантируемому C89 (32 767 байтов).
, Если Вы хотите получить доступ к массивам максимального размера, гарантируемого C99 (65 535 байтов), используйте unsigned
.
Посмотрите предыдущие изменения для доступа к позволенным массивам, но не гарантируемые C.
используйте Expect.pm .
Этот модуль специально разработан для программного управления приложениями, требующими обратной связи с пользователем
#!/usr/bin/perl
use strict;
use warnings;
use Expect;
my $expect = Expect->new;
my $command = 'install.sh';
my @parameters = qw(-f my_conf -p my_ip -s my_server);
my $timeout = 200;
my $password = "W31C0m3";
$expect->raw_pty(1);
$expect->spawn($command, @parameters)
or die "Cannot spawn $command: $!\n";
$expect->expect($timeout,
[ qr/Enter password for the packagekey:/i, #/
sub {
my $self = shift;
$self->send("$password\n");
exp_continue;
}
]);
Если программа считывает пароль со стандартного ввода, вы можете просто ввести его:
`echo password | myscript.sh (...)`
Если нет, Ожидайте или PTY.
Вы можете сохранить пароль в файле и при запуске сценария установки прочитать пароль из файла.