Sponsored Content
Top Forums Shell Programming and Scripting Help with script to create printers on unix Post 302419447 by zaxxon on Friday 7th of May 2010 07:40:23 AM
Old 05-07-2010
I am not totally sure what you want to do and maybe othere people did not quite understand it neither so that could be the reason because so many look in but do not answer.

Whatever, there are some lines, I see no sense in:
Code:
awk 'BEGIN {while ( getline < "sun5-printers.txt") {arr[$0]++ }}{ if (!($0
 in arr ) ) {print} }' sun8-printers.txt
#Amend,create or delete Printer
prExists=$?

You compare 2 files to get the difference and getting the difference, you do nothing with that list. The output is not used any further and also the $? is not worth anything since awk will nearly always give you a 0 back, no matter if there is a difference or not.
I recommend you do a simple diff instead and check it for it's $? to notice if there is a difference or not. If you really need to process the difference list, you might use a simple grep -f against those 2 files so you can a) check it's result with $? and b) if you need the output, process/parse it.

Also your function printerExists() is not closed with a } which will produce an error, maybe just a typo.
So far I got the impression you want to create those print queues that do not exist on some hosts yet.
Then you might want to write your printerExists() so that it can parse a) a printer name, that you might already have gotten by checking which do not exist, b) an action like [add|delete].
Also all those variable inside the function have not been filled with usable values, which could have happened outside this function or in another function so you can hand them over to printerExists() as parameters too.

Maybe get a clear picture of what you want to do 1st and write the script according to that and/or tell what exactly is not working currently.
By taking a glimpse at it there should be several things that might not work, like stated above.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

quering unix boxes for attaced printers

Greetings All, I was wanting some info seeing i am a ms geek looking to go into UNIX if i want to query a UNIX box for info regarding printers, LPDs and such source how would i go about this !!!! All comments that would point me in the right direction would be most useful. Cheers (1 Reply)
Discussion started by: seekerO
1 Replies

2. Shell Programming and Scripting

How To create Flat Files using Unix Shell Script?

Hi all, How to create Flat Files using Unix Shell Script. The Script is supposed to be sheduled to run at a particular time? Thanks in advance Appu (4 Replies)
Discussion started by: Aparna_k82
4 Replies

3. UNIX for Advanced & Expert Users

Password protect UNIX printers?

Is there a way to password protect a printer that is on a LAN network? Our security officer said our UNIX printers need to be password protected. Is this possible? I am running Solaris 7 and 8... Thanks in advanced for any suggestions. (4 Replies)
Discussion started by: rtoba
4 Replies

4. Shell Programming and Scripting

Script for reporting network printers

Does anyone have a script that would detect (and create a flat-file) of all printing devices (printers/plotters) attached on a network? I need a single script or tool that would allow me to collect a data file for our asset management tool. Example format: manufacturer, model name, serial... (0 Replies)
Discussion started by: glefko
0 Replies

5. Shell Programming and Scripting

How to create xls file using unix script

Hi All, I want to create an xls file using shell script. I mean that I have written one script. It is having sql output. So I want to save that sql output into one xls file and I want to send that file as a attachment to my team MAIL_IDs. Can You any guy help me in this? Thanks in... (3 Replies)
Discussion started by: raghu.iv85
3 Replies

6. Shell Programming and Scripting

How to create a file with full permission in unix script

In my script, I am creating a file ----> then writting one line (i.e. Timestamp) ----> then FTP'ing. The same script can be executed by many other users. While other users executing this script, they couldn't Over write this one line (i.e. Timestamp) My expectation So I wanted to create a... (2 Replies)
Discussion started by: sbmk_design
2 Replies

7. AIX

AIX Bunch of printers queue creation script - HELP

I'd seek for help on how to create a bunch of printers in AIX 6.x or equal or above in one go – say like I have 35 printers to create in 4 different AIX Nodes every month – I currently create it manually like below:- How can I automatic this creation on all the 4-5 Nodes – not actually automatic... (3 Replies)
Discussion started by: shiv2001in
3 Replies

8. UNIX for Dummies Questions & Answers

Unix script to create a backup on a remote computer

Hello, I have a problem - I attended a UNIX course a couple of years back but, unfortunately, I don't remember how to write scripts for shell commands. Now I want to make a script that makes a backup of a folder on a remote computer and I have no idea how to begin. :D So the idea is that I want... (3 Replies)
Discussion started by: Benedit
3 Replies

9. Shell Programming and Scripting

Need a script to add mutiple printers in solaris box

Hi , i need to configure around 80 printers in a server. can someone please help me with the script. i have a file that has printer name and its ip. like. printer1 1.1.1.1 printer2 0.0.0.0 and so on.. can some one please help me to do it via script. i am using solaris 10 ... (0 Replies)
Discussion started by: chidori
0 Replies

10. Shell Programming and Scripting

Create a UNIX script file with multiple commands

Hi Good morning all, I want to create script file with multiple commands. For ex: pmrep connect is one of the command to connect to repository. pmrep objectexport is another command to export objects to a file. These commands should run sequentially.But when i try to execute this, the first... (4 Replies)
Discussion started by: SekhaReddy
4 Replies
enable(1)                                                          User Commands                                                         enable(1)

NAME
enable, disable - enable/disable LP printers SYNOPSIS
/usr/bin/enable printer... /usr/bin/disable [-c | -W] [ -r [reason]] printer... DESCRIPTION
The enable command activates printers, enabling them to print requests submitted by the lp command. enable must be run on the printer server. The disable command deactivates printers, disabling them from printing requests submitted by the lp command. By default, any requests that are currently printing on printer will be reprinted in their entirety either on printer or another member of the same class of printers. The disable command must be run on the print server. Use lpstat -p to check the status of printers. enable and disable only effect queueing on the print server's spooling system. Executing these commands from a client system will have no effect on the server. OPTIONS
The following options are supported for use with disable: -c Cancels any requests that are currently printing on printer. This option cannot be used with the -W option. If the printer is remote, the -c option will be silently ignored. -W Waits until the request currently being printed is finished before disabling printer. This option cannot be used with the -c option. If the printer is remote, the -W option will be silently ignored. -r [reason] Assigns a reason for the disabling of the printer(s). This reason applies to all printers specified. This reason is reported by lpstat -p. Enclose reason in quotes if it contains blanks. The default reason is "unknown reason" for the existing printer, and "new printer" for a printer added to the system but not yet enabled. OPERANDS
The following operand is supported for both enable and disable: printer The name of the printer to be enabled or disabled. Specify printer using atomic name. See printers.conf(4) for information regarding the naming conventions for atomic names. EXIT STATUS
The following exit values are returned: 0 Successful completion. non-zero An error occurred. FILES
/var/spool/lp/* LP print queue. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWpcu | +-----------------------------+-----------------------------+ |CSI |enabled | +-----------------------------+-----------------------------+ SEE ALSO
lp(1), lpstat(1), printers.conf(4), attributes(5) SunOS 5.10 9 Sep 1996 enable(1)
All times are GMT -4. The time now is 04:55 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy