Sponsored Content
Top Forums Shell Programming and Scripting Very strange things happened in the shell function Post 302180137 by era on Sunday 30th of March 2008 04:24:34 AM
Old 03-30-2008
The output from FindSOS is the output of "grep EOS" plus the output of "echo $NUM".

Code:
if grep "EOS" "$1" >/dev/null  # note double quotes around $1, too

should fix it. (Or grep -q, if you have a fairly modern grep.)

The use of more | sed is an inventive way of avoiding a Useless Use of Cat Award (google for that), but I certainly would not recommend it.

As another stylistic issue, you could avoid the use of temporary files. Pipes are your friend and you are using them already. A file which only gets used once (by the immediately following command, too) can usually be turned into a pipe.

That while loop looks fairly mysterious, too. You will break out on the first line, correct? So you don't need the magic with $cnt and in fact it will never get executed. The idiomatic way to do that is head -n 1 anyway.

The funny | grep -v '^$' is superfluous too, as long as you are echoing $NUM unquoted, any blanks will be lost anyway.

Hope this helps.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Gnome doing strange things.

I dual-booted a Pentium 166 with 48mbs of RAM and 2 gig HD between Windows 95 and Redhat 7. I installed the workstation setup, and selected Gnome as my GUI. Everything went fine, setup was great, no bugs. My monitor is ancient, so it was in the monitor list, and I entered my VRAM as 1mb. All... (5 Replies)
Discussion started by: Furtoes00
5 Replies

2. Linux

Strange problem with gettimeoftheday function

Hi all, I am using pthread_cond_timedwait function in my program, to generate the time period of waiting i use gettimeoftheday function. When i run the code after compiling i get a core dump error. However my program runs perfectly if i give a printf statement before the gettimeoftheday... (1 Reply)
Discussion started by: xyz123456
1 Replies

3. Solaris

unable to format usb stick ?strange things happening as well!!!

Hi all, I have a pendrive that is fat formatted... It was being detected so far on solairs...but now during the re-installation of solaris ,i did not remove the drive and guess i screwed it up... since then , i am unable to use it...guess its now not formatted or is corrupt... but the irony... (3 Replies)
Discussion started by: wrapster
3 Replies

4. UNIX and Linux Applications

strange behavior of PSQL user defined function

Segregated the problematic portion, and showing for your view here., 1. Following is the function definition, create or replace function new_del(id integer) returns void as $$ begin raise info 'dollar :%',$1; delete from testing where id=$1; end ; $$ language 'plpgsql'; ... (1 Reply)
Discussion started by: thegeek
1 Replies

5. Shell Programming and Scripting

SHELL SCRIPT Function Calling Another Function Please Help...

This is my function which is creating three variables based on counter & writing these variable to database by calling another function writeRecord but only one record is getting wrote in DB.... Please advise ASAP...:confused: function InsertFtg { FTGSTR="" echo "Saurabh is GREAT $#" let... (2 Replies)
Discussion started by: omkar.sonawane
2 Replies

6. Shell Programming and Scripting

Shell script that will do two things at once

I am trying to script up a build of my system from source, and the first couple of steps requires me to do a pull from a CVS mirror three times, and then the script begins. What I'd like is to be able to do one CVS pull, then start the build of userland, and while userland is building, pull down... (1 Reply)
Discussion started by: brakeb
1 Replies

7. Shell Programming and Scripting

Strange errors with shell scripts..plzz help

Hi all... Please help me with this questions. I am not good at shell scripting. 1) It seems like there are many ways that we can run the shell scripts. what is the difference between each one? i)./shell_script.sh ii).(space)./ shell_script.sh iii)sh shell_script.sh ... (3 Replies)
Discussion started by: sanskumar2003
3 Replies

8. UNIX for Beginners Questions & Answers

Strange things happen when I close my laptop lid

I recently bought a new HP Spectre x360 laptop and installed Linux (Ubuntu 16.04 LTS 64 bit) for the first time. I have noticed a few small bugs but something very strange happens when I shut the laptop lid. The last time I closed it for example, when I re-opened: The screen resolution had... (0 Replies)
Discussion started by: twelth_hour
0 Replies

9. Shell Programming and Scripting

Strange function call in the shell script parse_prog_args $@

I am converting shell script to Perl. In shell I have a code parse_prog_args() { if then while do case $1 in -P* | -p* ) export PROCESS_DATE=$2 export MM=`echo $2 | cut -c5-6` export DD=`echo $2 | cut -c7-8` export YY=`echo $2 | cut -c3-4` export... (4 Replies)
Discussion started by: digioleg54
4 Replies

10. Shell Programming and Scripting

Strange third argument in shell function

In one of my shell function I found the following set_default_values () { prog=$1 PROC_DT=$2 RESET_ALL="${3-N}" #echo "Processing date as passed = , Program name = " ...... I understand the first and second arguments, but don't understand... (1 Reply)
Discussion started by: digioleg54
1 Replies
LIBBASH(7)							  libbash Manual							LIBBASH(7)

NAME
libbash -- A bash shared libraries package. DESCRIPTION
libbash is a package that enables bash dynamic-like shared libraries. Actually its a tool for managing bash scripts whose functions you may want to load and use in scripts of your own. It contains a 'dynamic loader' for the shared libraries ( ldbash(1)), a configuration tool (ldbashconfig(8)), and some libraries. Using ldbash(1) you are able to load loadable bash libraries, such as getopts(1) and hashstash(1). A bash shared library that can be loaded using ldbash(1) must answer 4 requirments: 1. It must be installed in $LIBBASH_PREFIX/lib/bash (default is /usr/lib/bash). 2. It must contain a line that begins with '#EXPORT='. That line will contain (after the '=') a list of functions that the library exports. I.e. all the function that will be usable after loading that library will be listed in that line. 3. It must contain a line that begins with '#REQUIRE='. That line will contain (after the '=') a list of bash libraries that are required for our library. I.e. every bash library that is in use in our bash library must be listed there. 4. The library must be listed (For more information, see ldbashconfig(8)). Basic guidelines for writing library of your own: 1. Be aware, that your library will be actually sourced. So, basically, it should contain (i.e define) only functions. 2. Try to declare all variables intended for internal use as local. 3. Global variables and functions that are intended for internal use (i.e are not defined in '#EXPORT=') should begin with: __<library_name>_ For example, internal function myfoosort of hashstash library should be named as __hashstash_myfoosort This helps to avoid conflicts in global name space when using libraries that come from different vendors. 4. See html manual for full version of this guide. AUTHORS
Hai Zaar <haizaar@haizaar.com> Gil Ran <ril@ran4.net> SEE ALSO
ldbash(1), ldbashconfig(8), getopts(1), hashstash(1) colors(1) messages(1) urlcoding(1) locks(1) Linux Epoch Linux
All times are GMT -4. The time now is 10:55 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy