12-03-2010
Trouble with the Source command..
Hi everyone,
I've been writing a script as an assignment which essentially does the exact same thing as the tree -d function (bash shell btw), except next to every directory name it gives a number which you can input into the same command in order to change the current working directory to the directory you want. As a hint, the assignment mentions that the only way to do this is to 'source' the command, and I understand why (parent/child processes etc.).
The problem I'm having is that when I run my script normally it works 100% fine - and I've tested this by changing the cwd using cd, and then listing the contents with ls - but when I source it first the command does absolutely nothing.. It will display the contents of my home directory (which is it's main objective), but if I run that exact same command a second time, it does nothing.
Just to make it clear:
ds -0 #typing this displays the contents of my home directory, much like tree -d
ds -c "n" #when i've augmented the script so that it changes directory to directory "n" (a number) and then lists the contents, this works fine, so there can't be a problem with the coding.
source ds -0 #This will work once and only once. If I run the same command again, it won't do anything... (??) It will run fine again, but only if I do something else first (like enter vi).
source ds -c "n" #This does nothing.
I don't really understand what's going on, but I've gone through my script checking all the variable names, and made sure they aren't environment variables that might mess up the script. I'm fairly certain I'm just getting something fundamental wrong, but I can't find any mention of a problem like this online. Any help would be much appreciated.
Thanks
petey
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi. I have been trying to send mail using the mailx command. I also tryed to use the mail command.
The thing is that when I try to send the email, i receive automatically to my mailbox a DAEMON response sayng that the mailhost is unknown...
The syntax I am using is this:
$mailx -s "this... (2 Replies)
Discussion started by: ldrojasm
2 Replies
2. AIX
Hi,
I'm new to scripting and AIX. I'm running the following:
lspv | awk '{ print "lspv",$1" | egrep 'PP\|PHYSICAL'; lspv -l",$1 }'
Which creates this command:
lspv hdisk0 | egrep PP|PHYSICAL; lspv -l hdisk0
lspv hdisk1 | egrep PP|PHYSICAL; lspv -l hdisk1
Troube is, I need the... (2 Replies)
Discussion started by: cruiser
2 Replies
3. UNIX for Dummies Questions & Answers
Hey all, im trying to create a makefile in unix. cpp2html is a program created from the files cpp2html.o and lex.yy.o.
cpp2html.o is created from compiling cpp2html.c and lex.yy.o is created from another created file lex.yy.c. and lex.yy.c is created from a command "flex cppscanner.l" and here is... (1 Reply)
Discussion started by: iwatk003
1 Replies
4. Shell Programming and Scripting
Hi All!!
I am having trouble in executing the following command into a c-shell script.
mv "$file" "$(head -1 "$file")"
The funny thing is that the same command works perfectly from the command line, but when incorporated into a "foreach loop" of a c-shell script, it shows an error -... (1 Reply)
Discussion started by: chen.xiao.po
1 Replies
5. Shell Programming and Scripting
I orginally installed Zoneminder 1.25.X on Ubuntu 12.04 using there repositories and ran into a roadblock using the Bluecherry BC-08240A - 8 port video, 8 port audio realtime hardware compression card. The card requires the solo6010-dkm driver which uses ('extended' layouts)
Using the display... (2 Replies)
Discussion started by: metallica1973
2 Replies
6. Shell Programming and Scripting
Hello,
I am attempting to ssh to a server and run a set of commands on a remote set of servers. I am getting the following error below, I am thinking quotes may be the problem. This command works on the local machine in bash. Not when I ssh to a remote server. Basically the command should... (3 Replies)
Discussion started by: jaysunn
3 Replies
7. Shell Programming and Scripting
Hi,
I need to read a string with ; separated using loop one filed by one field and perform some operation. Can you please check and let me know how to print command parameterised.
key=phani;ravi;kiran
number_of_keys=`echo $key|awk '{print NF}' FS=';'`
for (( i = 1; i <= $number_of_keys;... (4 Replies)
Discussion started by: Ravindra Swan
4 Replies
8. Shell Programming and Scripting
I have a section of a script where I want to check a log file for a certain oracle error and if there is only one error (and it is ORA-39152) then I want to email that script is complete. Otherwise email failure and log.
Somehow with this while the log only has one error and it is ORA-39152, I... (5 Replies)
Discussion started by: cougartrace
5 Replies
9. Shell Programming and Scripting
Hi,
I have 2 .txt pads containing data.
I need a script which reads content of one .txt file, performs some operations and calculates a number which is stored in a variable.
Now , all the content of another .txt pad should be appended to first .txt pad at pre calculated nth line number.
... (4 Replies)
Discussion started by: Ravindra Swan
4 Replies
10. UNIX for Advanced & Expert Users
I tried running this.
dsh -w server1 'lsof /audit | awk '{ print $2 }''
It did not like above so I tried to escape the single parenthesis at the end.
dsh -w server1 'lsof /audit | awk '{ print $2 }\''
It then hung so I changed up the parenthesis to this. This worked.
dsh -w server1... (6 Replies)
Discussion started by: cokedude
6 Replies
LEARN ABOUT ULTRIX
return
exit(1) User Commands exit(1)
NAME
exit, return, goto - shell built-in functions to enable the execution of the shell to advance beyond its sequence of steps
SYNOPSIS
sh
exit [n]
return [n]
csh
exit [ ( expr )]
goto label
ksh
*exit [n]
*return [n]
DESCRIPTION
sh
exit will cause the calling shell or shell script to exit with the exit status specified by n. If n is omitted the exit status is that of
the last command executed (an EOF will also cause the shell to exit.)
return causes a function to exit with the return value specified by n. If n is omitted, the return status is that of the last command exe-
cuted.
csh
exit will cause the calling shell or shell script to exit, either with the value of the status variable or with the value specified by the
expression expr.
The goto built-in uses a specified label as a search string amongst commands. The shell rewinds its input as much as possible and searches
for a line of the form label: possibly preceded by space or tab characters. Execution continues after the indicated line. It is an error to
jump to a label that occurs between a while or for built-in command and its corresponding end.
ksh
exit will cause the calling shell or shell script to exit with the exit status specified by n. The value will be the least significant 8
bits of the specified status. If n is omitted then the exit status is that of the last command executed. When exit occurs when executing
a trap, the last command refers to the command that executed before the trap was invoked. An end-of-file will also cause the shell to exit
except for a shell which has the ignoreeof option (See set below) turned on.
return causes a shell function or '.' script to return to the invoking script with the return status specified by n. The value will be the
least significant 8 bits of the specified status. If n is omitted then the return status is that of the last command executed. If return
is invoked while not in a function or a '.' script, then it is the same as an exit.
On this man page, ksh(1) commands that are preceded by one or two * (asterisks) are treated specially in the following ways:
1. Variable assignment lists preceding the command remain in effect when the command completes.
2. I/O redirections are processed after variable assignments.
3. Errors cause a script that contains them to abort.
4. Words, following a command preceded by ** that are in the format of a variable assignment, are expanded with the same rules as a vari-
able assignment. This means that tilde substitution is performed after the = sign and word splitting and file name generation are not
performed.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
SEE ALSO
break(1), csh(1), ksh(1), sh(1), attributes(5)
SunOS 5.10 15 Apr 1994 exit(1)