Sponsored Content
Homework and Emergencies Homework & Coursework Questions Delete restore and empty trash Post 302478731 by Chubler_XL on Wednesday 8th of December 2010 07:02:24 PM
Old 12-08-2010
Restore function should test to ensure file they are trying to restore is actually in the dustbin.

Check for upper or lower case responses in your case statements (could also consider looping with a trap for non YorN answers):

Code:
     case $ans in
        Y|y) rm "$file";;
        N|n) ;;
        *) echo "Please answer Y or N" ;;


Couple of simplification tips:

To truncate a file you can use:

Code:
> store

Instead of piping ls to a tempfile and reading it back, try:

(also consider a renamed of variable to "file" to make things more self-documenting):
Code:
for file in *
do
   . . .
done


Last edited by Chubler_XL; 12-08-2010 at 08:10 PM..
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Can't empty trash in OS X!

I trashed Adobe Acrobat (not Acrobat Reader today) because Adobe screwed up my licensing; their solution was to issue me a new serial number (thanks, guys). Anyhoo, I can't delete all of the Acrobat folder from my trash in OS X, nor can I move it out of the trash (it just copies). Any suggestions?... (4 Replies)
Discussion started by: chenly
4 Replies

2. Linux

empty trash

Hello i am trying to empty the trash using rm or rmdir command . Any idea how to delete the folders and subfolders using one of the above commands? Thank You (2 Replies)
Discussion started by: exhumation
2 Replies

3. UNIX for Advanced & Expert Users

How to delete empty lines

abc# abc#this is a test abc#this is a test to delete abc# xyz# xyz#this is a test two xyz# In the above example '#' is common. How to do delete the emply lines. In specific to observe the output as: abc#this is a test abc#this is a test to delete xyz#this is a test two . . . . (5 Replies)
Discussion started by: Aejaz
5 Replies

4. Shell Programming and Scripting

Del - trash - restore CSH commands!!

Anyone who could help me with those three commands, i'm really new in cshell script so please be understandable.. Need to demostrate those three commands del trash (incl -ai) i that you will be asked to confirmed that they can be deleted a to move all those files from dustbin and to... (2 Replies)
Discussion started by: Visi_Ks
2 Replies

5. Shell Programming and Scripting

scripts to Initialise,backup,restore,delete and empty

you are to write scripts for a customer that would require a system enable the backing up of files and directories. The script should (these names should be used): 1. INITIALISE: Initialise the directory for the backup(called backup and should be in the home directory) and any other... (1 Reply)
Discussion started by: babby01
1 Replies

6. UNIX for Dummies Questions & Answers

Recreate/Restore Repository and/or change/delete Public Keys???

I have a BIG problem... I host a public (Debian) repository on Cydia (for jailbroken iphones). I use my home Mac running Ubuntu in VMWare Fusion. For the repository, I have to have 5 items in a folder to make it 'live:' 1. deb_files folder (to hold my Debian packages) 2. Packages file 3.... (0 Replies)
Discussion started by: thazsar
0 Replies

7. UNIX for Dummies Questions & Answers

How to delete some empty folders?

I have an amount of folders and I want to delete only the empty ones. But I have more than 200 empty folders, so I would preffer do not delete one by one... I know it is possible, but I don't know how. I've tried with the size, using 'du' command, and saving the result in a file. After that, I made... (3 Replies)
Discussion started by: saitsug
3 Replies

8. Shell Programming and Scripting

Delete/Restore Script

Hi there is anyone able to show me two scripts for a delete and a restore command. Delete - move a file to a dustibin directory that i have created. check to see if that file exsits first in the dustbin if so delete the file before moving the new one. Restore - return the file to its... (1 Reply)
Discussion started by: arsenal1994
1 Replies

9. UNIX for Beginners Questions & Answers

Can't delete a file in the trash on OSX 10.11.6

I use a Mac running OSX El Capitan = UNIX user the hood. After rearranging files on an external hard drive, I ended up with a folder in the trash containing a file called "~INITPicker 2.0". I cannot empty the trash, and so delete the file. I even tried terminal, using the rm file command and... (38 Replies)
Discussion started by: djfilms
38 Replies
PAM::FAQ(3)						User Contributed Perl Documentation					       PAM::FAQ(3)

NAME
Authen::PAM::FAQ - Frequently-Asked Questions about Authen::PAM. SYNOPSIS
perldoc Authen::PAM::FAQ VERSION
This document is currently at version 0.05, as of May 4, 2005 DESCRIPTION
1. Can I authenticate a user non interactively? Yes, you can although not in a very clean way. The PAM library has a mechanism, in a form of a conversation function, to send and receive text data from the user. For details of the format of the conversation function consult the Authen::PAM manual. This function receives a list of code/string pairs. There are two codes (PAM_TEXT_INFO and PAM_ERROR_MSG) for displaying the associated string to the user and two codes (PAM_ECHO_ON and PAM_ECHO_OFF) for getting input from the user. As you can see the codes are rather general and you can not be com- pletely sure when you are asked for a user name and when for a password. However, the common practice is that PAM_ECHO_ON is used for a user name and PAM_ECHO_OFF is used for a password. So, what you can do is to write your own conversation function which ignores the PAM_TEXT_INFO and PAM_ERROR_MSG codes and returns the user name for the code PAM_ECHO_ON and the password for the code PAM_ECHO_OFF. If you pass the user name in the initialization function then usually you will not be asked for it. Here is a simple example how to do this: use Authen::PAM; use POSIX qw(ttyname); $service = "login"; $username = "foo"; $password = "bar"; $tty_name = ttyname(fileno(STDIN)); sub my_conv_func { my @res; while ( @_ ) { my $code = shift; my $msg = shift; my $ans = ""; $ans = $username if ($code == PAM_PROMPT_ECHO_ON() ); $ans = $password if ($code == PAM_PROMPT_ECHO_OFF() ); push @res, (PAM_SUCCESS(),$ans); } push @res, PAM_SUCCESS(); return @res; } ref($pamh = new Authen::PAM($service, $username, &my_conv_func)) || die "Error code $pamh during PAM init!"; $res = $pamh->pam_set_item(PAM_TTY(), $tty_name); $res = $pamh->pam_authenticate; print $pamh->pam_strerror($res)," " unless $res == PAM_SUCCESS(); The Authen::PAM module comes with a default conversation function which you can find in the file PAM.pm. 2. Can I change a password non interactively? All the discussion of the previous question also applies here. There is however one serious complication. When changing a password it is quite possible that the PAM library will send you at lest two PAM_ECHO_OFF prompts - one for the old password and one or two for the new one. Therefore, the first thing you should do is to see what sequence of prompts is produced by your service. Then the conversation func- tion should include some state variable to distinguish the different prompts. Here is an example: use Authen::PAM; $service = "passwd"; $username = "foo"; $oldpassword = "old_pass"; $newpassword = "new_pass"; sub my_conv_func { my @res; while ( @_ ) { my $code = shift; my $msg = shift; my $ans = ""; $ans = $username if ($code == PAM_PROMPT_ECHO_ON() ); if ($code == PAM_PROMPT_ECHO_OFF() ) { $ans = $oldpassword if ($state == 0); $ans = $newpassword if ($state == 1); $ans = $newpassword if ($state == 2); $state++; } push @res, (PAM_SUCCESS(),$ans); } push @res, PAM_SUCCESS(); return @res; } ref($pamh = new Authen::PAM($service, $username, &my_conv_func)) || die "Error code $pamh during PAM init!"; $state = 0; $res = $pamh->pam_chauthtok; print $pamh->pam_strerror($res)," " unless $res == PAM_SUCCESS(); If you are running the script as root then most likely you will not be prompted for an old password. In this case you can simply return the new password at the ECHO_OFF prompt. The $msg variable contains the text of the input prompt which you can use for additional test or for debugging purposes, e.g. if ($code == PAM_PROMPT_ECHO_OFF() ) { if ($state>=1 || $msg=~/new/i) { # are we asked for a new password $ans = $newpassword; } else { $ans = $oldpassword; } $state++; } 3. Why are the constants PAM_AUTHTOK and PAM_OLDAUTHTOK not avaliable? The PAM_AUTHTOK and PAM_OLDAUTHTOK items can be used to pass authentication tokens (passwords) from one module to another. However, they are avaliable only to PAM modules and not to PAM applicatinos. If you have a special setup in which you really need to preset the password from the application (e.g. using a radius server) then you can use the pam_set_authtok module avaliable from <http://www.uni-hohen- heim.de/~schaefer/linux/pam/pam_set_authtok.html>. SEE ALSO
Authen::PAM AUTHOR
Nikolay Pelov <NIKIP at cpan.org> COPYRIGHT
Copyright (c) 1998-2005 Nikolay Pelov. All rights reserved. This file is part of the Authen::PAM library. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.8.4 2005-06-30 PAM::FAQ(3)
All times are GMT -4. The time now is 08:55 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy