mirror of
https://git.hardenedbsd.org/hardenedbsd/HardenedBSD.git
synced 2024-11-19 09:44:30 +01:00
67 lines
1.4 KiB
Perl
67 lines
1.4 KiB
Perl
#!/usr/bin/perl
|
|
|
|
# $Header: /home/cvs/386BSD/ports/lang/perl/eg/van/unvanish,v 1.1.1.1 1993/08/23 21:29:45 nate Exp $
|
|
|
|
sub it {
|
|
if ($olddir ne '.') {
|
|
chop($pwd = `pwd`) if $pwd eq '';
|
|
(chdir $olddir) || die "Directory $olddir is not accesible";
|
|
}
|
|
unless ($olddir eq '.deleted') {
|
|
if (-d '.deleted') {
|
|
chdir '.deleted' || die "Directory .deleted is not accesible";
|
|
}
|
|
else {
|
|
chop($pwd = `pwd`) if $pwd eq '';
|
|
die "Directory .deleted does not exist" unless $pwd =~ /\.deleted$/;
|
|
}
|
|
}
|
|
print `mv $startfiles$filelist..$force`;
|
|
if ($olddir ne '.') {
|
|
(chdir $pwd) || die "Can't get back to original directory $pwd: $!\n";
|
|
}
|
|
}
|
|
|
|
if ($#ARGV < 0) {
|
|
open(lastcmd,'.deleted/.lastcmd') ||
|
|
open(lastcmd,'.lastcmd') ||
|
|
die "No previous vanish in this dir";
|
|
$ARGV = <lastcmd>;
|
|
close(lastcmd);
|
|
@ARGV = split(/[\n ]+/,$ARGV);
|
|
}
|
|
|
|
while ($ARGV[0] =~ /^-/) {
|
|
$_ = shift;
|
|
/^-f/ && ($force = ' >/dev/null 2>&1');
|
|
/^-i/ && ($interactive = 1);
|
|
if (/^-+$/) {
|
|
$startfiles = '- ';
|
|
last;
|
|
}
|
|
}
|
|
|
|
while ($file = shift) {
|
|
if ($file =~ s|^(.*)/||) {
|
|
$dir = $1;
|
|
}
|
|
else {
|
|
$dir = '.';
|
|
}
|
|
|
|
if ($dir ne $olddir) {
|
|
do it() if $olddir;
|
|
$olddir = $dir;
|
|
}
|
|
|
|
if ($interactive) {
|
|
print "unvanish: restore $dir/$file? ";
|
|
next unless <stdin> =~ /^y/i;
|
|
}
|
|
|
|
$filelist .= $file; $filelist .= ' ';
|
|
|
|
}
|
|
|
|
do it() if $olddir;
|