![]() |
|
|
|
|
|||||||
| Forums | Portal | Register | Forum Rules | FAQ | Contribute | Members List | Arcade | Search | Today's Posts | Mark Forums Read |
| UNIX for Advanced & Expert Users Advanced UNIX and Linux questions go here. Expert-to-Expert. |
|
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Script(s) to Automate Tasks | droppedonjapan | Shell Programming and Scripting | 2 | 05-21-2008 07:32 AM |
| script to automate mksysb via nim in AIX 5.3 | barkath | Shell Programming and Scripting | 0 | 12-20-2007 03:46 PM |
| here document to automate perl script that call script | hogger84 | Shell Programming and Scripting | 3 | 10-22-2007 07:15 AM |
| pkgrm | XNOR | UNIX for Dummies Questions & Answers | 7 | 04-06-2007 04:04 PM |
| automate the input in a script | erwinspeybroeck | UNIX for Dummies Questions & Answers | 11 | 01-31-2002 07:54 AM |
|
|
Submit Tools | LinkBack | Thread Tools | Search this Thread | Display Modes |
|
#1
|
|||
|
|||
|
Automate Script using pkgrm/pkgadd commands
This is my first post so hello to all of you!
I have a script in bash-3.00 that needs to execute the following: pkgrm [package-name] (to remove an existing package) pkgadd -d [package-path] ( to install a new package) The problem is that both commands prompt me to answer either y,n or q in order to proceed with removal/addition 3 times each. If I just run the command I will have to type 'y' and press Enter 3 times (for pkgrm) and type 'all' one time and 'y' two times both followed by Enter (for pkgadd). I tried to automate this using the following: echo "Removing existing package..." pkgrm $PACKAGE << EOF y y y EOF echo "Adding new package..." pkgadd -d $PATH/$PACKAGE.pkg << EOF all y y EOF but it's not working. In fact only the first input line works (first 'y' for pkgrm and 'all' for pkgadd) and then the command exits as If I had typed 'q'. Can anyone help me on this? Is there any way that I can automate this so that I won't have to answer the questions manually? Thanks, Insight |
| Forum Sponsor | ||
|
|
|
#2
|
|||
|
|||
|
Maybe this helps:
Code:
man pkgrm Quote:
|
|
#3
|
|||
|
|||
|
These are the original System V software management tools. Most of the Unix systems understand them. The "-n" you mentioned should be commonplace.
I hope this helps. bakunin |
|
#4
|
|||
|
|||
|
A native installed Debian Linux or an AIX doesn't. Found it with Solaris man pages though. Thanks for the hint
|
|
#5
|
|||
|
|||
|
I tried using the -n option but this only bypasses the first question which is:
"Do you want to remove this package? [y,n,?,q]" -n just automates this question and after that I get the second one along with the error message: "This package contains scripts which will be executed with super-user permission during the process of removing this package. Removal of <new_package> was suspended (interaction required)." and the script terminates. If I don't use -n then the second prompt is: "This package contains scripts which will be executed with super-user permission during the process of removing this package. Do you want to continue with the removal of this package [y,n,?,q] Removal of <new_package> failed. No changes were made to the system." (looks like I typed 'n' or 'q') Any other suggestions? |
|
#6
|
|||
|
|||
|
Just found this:
Solaris 9 Discussion - How to remove automatically packages? They are using this answerfile not as a here-script but just as an input file by redirecting it like Code:
pkgrm somesoftware < infile |
|
#7
|
|||
|
|||
|
I checked the link you sent me.
The pkgrm works fine if I use "yes | pkgrm [package-name]" because all the answers should be 'y'. However pkgadd doesn't work because the first answer should be 'all' and the second 'y'. I tried using an input file as the topic in the link suggests by having: bash-3.00$ cat input all y bash-3.00$ but it doesn't work. I tried using a combination of " yes | ..." and an input file but it doesn't work as well. Any ideas? |
|||
| Google The UNIX and Linux Forums |