зацените, как тупо и злобно можно сделать минимальный шелл
Курсовая на ВМиК?
минимальный

> my $pid = open2(*RD, *WR, '/bin/bash');
man 3 getenv в качестве одного из способов лечения.
---
...Я работаю антинаучным аферистом...
host# stat /bin/bash
stat: /bin/bash: lstat: No such file or directory
man 3 getenv в качестве одного из способов лечения.
---
...Я работаю антинаучным аферистом...
вместа /bin/bash можно поставить cat, но на самом деле это синглпрога, многопользовательской быть не может, т.е. миниминимальные функции, но мне показалось забавным...
p.s. думаю, что на курсовую это непотянет...
p.s. думаю, что на курсовую это непотянет...
Оставить комментарий
Barbie29
#!/usr/bin/perl -wuse IPC::Open2;
use strict;
my ($pid1,$line);
my $pid = open2(*RD, *WR, '/bin/bash');
if ($pid1 = fork) {
close(RD);
while(<>){
print WR;
}
close(WR);
waitpid($pid1,0);
} else {
die "cannot fork: $!" unless defined $pid;
close(WR);
while(<RD>){
print;
}
}