Как я понимаю, Вам нужны окна, и Linux Mint получают сотрудничество. Во-первых, найдите первый конфигурационный файл (я имею в виду grub.conf), который имеет рабочую конфигурацию для окон, строки конфигурации копии, после той личинки установки с Живого CD, берут рабочую конфигурацию для Linux, добавляют новые строки к первой конфигурации и заменяют его на Вашем компьютере. Это должно работать на Вас.
Если у Вас будут какие-либо проблемы, посмотрите пример здесь
Эти после функций являются хорошим началом. foo
считает содержание файла CSV и заполнит массив IP-адресов, которые будут проверены на каждом повторении так, чтобы ssh
не будет выполняться с тем же IP несколько раз.
# Usage: inarray "$value" "${array[@]}"
inarray()
{
local n=$1 h; shift
for h; do
[[ $n = "$h" ]] && return
done
return 1
}
# Usage: foo "$csv_file_name"
foo()
{
local ips=() arr=() filename="$1"
{ read; while IFS= read -r line; do
IFS=, read -ra arr <<< "$line"
if ! inarray "${arr[0]}" "${ips[@]}"; then
# Do whatever you want with "${arr[@]}"
# Example for arr:
# arr[0]=10.192.168.1, arr[1]=vlan-xyz, arr[2]=3
ips+=("${arr[0]}")
fi
done; } < "$filename"
}
Походит на задание для Perl:
#!/usr/bin/perl
use strict;
use warnings;
my $input_file=shift//die "No input file name given.\n";
open my $if,'<',$input_file or die "Couldn't open $input_file: $!\n";
my %ip_data;
<$if>; # Throw away the header
while(<$if>){
my ($ip,$vlan,$vlan_id)=split /\s*,\s*/;
push $ip_data{$ip}, <<EOI;
int VLAN $vlan
switchport access vlan $vlan_id
wr
EOI
}
close $if;
for my $ip (sort keys %ip_data){ #Fork-exec an SSH process for each IP address:
my $pid = fork;
$pid ? () : exec "ssh user@$ip \"$ip_data{$ip}\"";
}
Сохраните этот сценарий в файл, сделайте его исполняемым файлом (chmod +x script_file
) и назовите его как так:
$ ./script_file inputfile
Два комментария: