Sponsored Content
Top Forums Shell Programming and Scripting .sh file syntax checking script Post 302152203 by fabulous2 on Wednesday 19th of December 2007 03:12:33 AM
Old 12-19-2007
[Note to the people running this website: I received the following email over a day ago that someone responded to my original posting. And yet, it has never appeared here! I always see just 0 replies. Whats up? Is this website buggy?

When I try clicking on the "Contact us" link on the bottom of the page, I get an "Invalid Forum specified" error message, and when I try to click on the administrator link within that error message I get the same error message again.

If someone reading this knows how to contact the technical people running this website to notify them of these bugs, I would be grateful.

Since my posts do seem to be appearing on these forums, I am going to copy the text of the email that was sent to me and paste it below:]


ok, since you have gone to the trouble to post this, I will give some feedback which would make this more usable/portable. Currently it will not work on a stricter POSIX implementation of Unix due to your use of extented option from GNU find.

1. Your set -u is doing nothing at all since you have defaults for the only variables you use.
2. Use either a variable set to the full path (preferable) for a full path to programs you run.
eg
Code:
---------
FIND=/usr/bin/find
...
$FIND $opt_p $opt_R -type f -iname "*.sh"...
---------

3. Use POSIX arguments to find, it takes more work but is portable.
4. Instead of saying that the script will exit, print a usage message, you have that in the comments, but a usage message is better.

As an improvement, instead of assuming bourne/bourne compatability, test for a magic number in the first line of the script and run the <script interpreter> -n based on that, if there is none, then by all means default to using bourne.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Script syntax checking

Is it possible to check the script syntax with some sort of command...? Without running the script . I'm using Sun Solaris (3 Replies)
Discussion started by: bjornrud
3 Replies

2. Shell Programming and Scripting

Simple file checking script

Hi, I have a really, what I hope is, simple question. I'm looking for a simple way to see whether a file exists or not and then perform an action based on whether it exists or not. An example of what I tried is as follows: if then { echo "File mysql exists" ... (1 Reply)
Discussion started by: _Spare_Ribs_
1 Replies

3. Shell Programming and Scripting

Script for checking and reporting file sizes in a directory.

Hi, Need help for a Script for checking and reporting database file sizes in a directory. Request you to please give your valuable inputs. Thanks a lot in advance. Best Regards, Marconi (1 Reply)
Discussion started by: marconi
1 Replies

4. UNIX for Dummies Questions & Answers

Checking file sizes in script

Hi, I'm trying to check a filesize within a script and then excute a relevant action. An example is below: if then rm $filename rm $filename2 elif then rm $filename2 fi Basically if $filename2 has a filesize of 0 then I want both files to be removed, but... (6 Replies)
Discussion started by: chris01010
6 Replies

5. Shell Programming and Scripting

Checking ksh script syntax

To check a bash script syntax without executing it we use: bash -n scriptname What should be the equivalent command for checking a ksh script? (8 Replies)
Discussion started by: proactiveaditya
8 Replies

6. Shell Programming and Scripting

Script check for file, alert if not there, and continue checking until file arrives

All, Is there a way to keep checking for a file over and over again in the same script for an interval of time? Ie If { mail -user continue checking until file arrives file arrives tasks exit I don't want the script to run each time and email the user each time a file... (4 Replies)
Discussion started by: markdjones82
4 Replies

7. Shell Programming and Scripting

Help with script checking for a file in various servers

I am trying to write a script that checks whether or not, a file exists on multiple servers. My code / logic so far is: #!/usr/bin/ksh print "Enter File name to be checked" read MYFILE ssh server1 " cd /var/opt/logs ; if then ... (4 Replies)
Discussion started by: momin
4 Replies

8. Shell Programming and Scripting

File checking script need help

Hi, Gurus, I need a scripts to check specified file if it exists or not at certain time (say every month between 5th and 7th). if file exists do something otherwise do another thing. can anybody help this? Thanks in advance :wall: (3 Replies)
Discussion started by: ken002
3 Replies

9. Shell Programming and Scripting

Checking LB status.. stuck in script syntax of code

#!/bin/ksh #This script will check status of load balancer in AIX servers from hopbox #Steps to do as folows : #Login to server #netstat -ani | grep <IP> #check if the output contains either lo0 OR en0 #if the above condition matches, validation looks good #else, send an email with impacted... (7 Replies)
Discussion started by: vinil
7 Replies

10. Shell Programming and Scripting

Command script for checking a file existence

Hello, I have a directory where sometimes appear a certain file name - and I'd like to be notified by email when that happens... so what command or script I may use? e.g. if there's a file named "adam" in the directory named "dir1" then send a mail to "abc@abc.com".. it needs to permanently... (5 Replies)
Discussion started by: netrom
5 Replies
KERNEL-IMG.CONF(5)					      Debian GNU/Linux manual						KERNEL-IMG.CONF(5)

NAME
kernel-img.conf - site wide configuration file for kernel image packages SYNOPSIS
/etc/kernel-img.conf DESCRIPTION
The file /etc/kernel-img.conf is a simple file looked at by the kernel image post installation process to allow local options for handling some aspects of the installation, overriding the defaults built into the image itself. The format of the file is a simple VAR=VALUE pair. Boolean values may be specified as Yes, True, 1, and No, False, 0, and are case insensi- tive. This file is automatically created by the installation script in certain circumstances. At the moment, the user modifiable variables supported are: postinst_hook DEPRECATED: Set this variable to a script to be executed during installation. The path can be a relative path if the script lives in a safe path -- that is, if it lives in /bin, /sbin, /usr/bin, or /usr/sbin, or must be an absolute path instead. Before calling this script, the env variable STEM shall be set to the value of the --stem argument (or the default value, linux), and KERNEL_PACK- AGE_VERSION shall be set to the version of the kernel-package that created the package. This script shall be called with two argu- ments, the first being the version of the kernel image, and the second argument being the location of the kernel image itself. Errors in the script shall cause the postinst to fail. Since debconf is in use before the script is called, this script should issue no diagnostic messages to stdout -- while the postinst does call db_stop, debconf does not restore stdout, so messages to stdout disappear. An example script for grub users is present in /usr/share/doc/kernel-package/ directory. This script is run after the scripts in /etc/kernel/postinst.d directory. postrm_hook DEPRECATED: Set this variable to a script to be executed in the postrm (that is, after the image has been removed) after all the remove actions have been performed. The path can be a relative path if the script lives in a safe path -- that is, if it lives in /bin, /sbin, /usr/bin, or /usr/sbin, or must be an absolute path instead. The environment variable KERNEL_PACKAGE_VERSION shall be set to the version of the kernel-package that created the package. This script shall be called with two arguments, the first being the version of the kernel image, and the second argument being the location of the kernel image itself. Errors in the script shall produce a warning message, but shall be otherwise ignored. Since debconf is in use before the script is called, this script should issue no diagnostic messages to stdout -- while the postinst does call db_stop, debconf does not restore stdout, so messages to stdout disappear. This script is run after the scripts in /etc/kernel/postrm.d directory. preinst_hook DEPRECATED: Set this variable to a script to be executed before the package is unpacked, and can be used to put in additional checks. The path can be a relative path if the script lives in a safe path -- that is, if it lives in /bin, /sbin, /usr/bin, or /usr/sbin, or must be an absolute path instead. The environment variable KERNEL_PACKAGE_VERSION shall be set to the version of the kernel-package that created the package. This script shall be called with two arguments, the first being the version of the kernel image, and the second argument being the location of the kernel image itself. This script is run after the scripts in /etc/ker- nel/preinst.d directory. prerm_hook DEPRECATED: Set this variable to a script to be executed before the package files are removed (so any added files may be removed) . The path can be a relative path if the script lives in a safe path -- that is, if it lives in /bin, /sbin, /usr/bin, or /usr/sbin, or must be an absolute path instead. The environment variable KERNEL_PACKAGE_VERSION shall be set to the version of the kernel-pack- age that created the package. This script shall be called with two arguments, the first being the version of the kernel image, and the second argument being the location of the kernel image itself. Errors in the script shall cause the prerm to fail. Since debconf is in use before the script is called, this script should issue no diagnostic messages to stdout -- while the postinst does call db_stop, debconf does not restore stdout, so messages to stdout disappear. This script is run after the scripts in /etc/ker- nel/prerm.d directory. src_postinst_hook DEPRECATED: Unlike the other hook variables, this is meant for a script run during the post inst of a docs, headers or a source package. Using this hook for the headers package is now being deprecated, at some point the headers post install script shall only run the header_postinst_hook. The path can be a relative path if the script lives in a safe path -- that is, if it lives in /bin, /sbin, /usr/bin, or /usr/sbin, or must be an absolute path instead. The environment variable KERNEL_PACKAGE_VERSION shall be set to the version of the kernel-package that created the package. This script shall be called with two arguments, the first being the name of the package being installed (could be kernel source or headers), and the second argument being the version of the package being installed. Errors in the script shall cause the postinst to fail. This script is run after the scripts in /etc/ker- nel/src_postinst.d directory. header_postinst_hook DEPRECATED: Unlike the other hook variables, this is meant for a script run during the post inst of a headers package only. The path can be a relative path if the script lives in a safe path -- that is, if it lives in /bin, /sbin, /usr/bin, or /usr/sbin, or must be an absolute path instead. The environment variable KERNEL_PACKAGE_VERSION shall be set to the version of the kernel-package that created the package. This script shall be called with two arguments, the first being the name of the package being installed, and the second argument being the version of the package being installed. Errors in the script shall cause the postinst to fail. This script is run after the scripts in /etc/kernel/header_postinst.d directory. clobber_modules If set, the preinst shall silently try to move /lib/modules/version out of the way if it is the same version as the image being installed. Use at your own risk. This variable is unset by default. warn_reboot This variable can be used to turn off the warning given when installing a kernel image which is the same version as the currently running version. If the modules list is changed, the modules dependencies may have been changed, and the modules for the new kernel may not run correctly on the running kernel if the kernel ABI has changed in the meanwhile. It is a good idea to reboot, and this is a note to remind you. If you know what you are doing, you can set this variable to no. This variable is set by default. relink_build_link This option manipulates the build link created by recent kernels. If the link is a dangling link, and if a the corresponding kernel headers appear to have been installed on the system, a new symlink shall be created to point to them. The default is to relink the build link (YES). force_build_link This option manipulates the build link created by recent kernels. If the link is a dangling link, a new symlink shall be created to point to kernel headers data in /usr/src, whether they have been installed or not. The default is unset, we don't create potentially dangling symlinks by default. relink_src_link This option manipulates the source link created by recent kernels. If the link is a dangling link it is deleted at install time. The default is to relink (delete) the source link (YES). silent_modules This option has been put in for the people who are vastly irritated on being warned about preexisting modules directory /lib/mod- ules/$version. That directory may belong to an old or defunct kernel image package, in which case problems may arise with leftover modules in that directory tree, or the directory may legitimately exist due to a independent modules package being installed for this kernel version that has already been unpacked. In this latter case the existence of the directory is benign. If you set this variable, you shall no longer be given a chance to abort if a preexisting modules directory /lib/modules/$version is detected. This is unset by default. ignore_depmod_err If set, does not prompt to continue after a depmod problem in the postinstall script. This facilitates automated installs, though it may mask a problem with the kernel image. A diagnostic is still issued. This is unset be default. FILES
The file described here is /etc/kernel-img.conf. SEE ALSO
make(1), make-kpkg(1), kernel-pkg.conf(5), The GNU Make manual BUGS
There are no bugs. Any resemblance thereof is delirium. Really. AUTHOR
This manual page was written by Manoj Srivastava <srivasta@debian.org>, for the Debian GNU/Linux system. Debian Aug 20 2009 KERNEL-IMG.CONF(5)
All times are GMT -4. The time now is 02:58 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy