how about this approach [covering bash/ksh - might need to enhance it for other (zsh/sh/etc)]
That is an interesting way to find what we're looking for in bash. Looking at the bash man page, it isn't obvious to me why it works.
Unfortunately, it doesn't really work for ksh. It works the second time if you try the commands:
because ksh sets the variable named _ to the last argument passed to the most recently completed synchronous command. I.e., after the first time you run . scriptname, ksh sets _ to scriptname so the second time you run . scriptname$_ (and ${_}) expand to scriptname. But if you run the two commands:
When you're running the above script with ksh, the output from the dot command will be Hello World!, not scriptname.
Note also that having the #!/bin/ksh comment at the start of the script is misleading; the commands in this file will be run by whatever shell issued the command:
within the current shell execution environment at that time. Unlike, when you're executing a script directly (instead of dotting the script), the file named scriptname only has to be readable (it doesn't matter if it is executable).
These 2 Users Gave Thanks to Don Cragun For This Post:
Well, I did remember discussing something similar in the past - here's the relevant thread.
Here's the modified test harness:
Now it works for both: bash and ksh - when sourced OR executed.
Don,
I left the shebang so that the script could be either sourced OR executed.
These 2 Users Gave Thanks to vgersh99 For This Post:
Hi all,
I need to deploy two scripts on around ~100 machines and have only OPSware.
Opsware have the option to execute a script, so I am trying to write a script which dose
cat > script.ksh <<EOF
script to be deployed
EOF
However the script between the two EOFs gets also executed which... (0 Replies)
I am currently running 2 scripts to gather data for a 3rd script and would like to combine the 2 scripts into one. Having issues with the final output format.
Note cannot post URL so replaced the http stuff with (name) in the examples
All scripts contain #!/bin/ksh OS = Red Hat Enterprise... (0 Replies)
Hi
I am new to this Scripting process and would like to know How can i write a ksh script that will call other ksh scripts and write the output to a file and/or email.
For example
-------
Script ABC
-------
a.ksh
b.ksh
c.ksh
I need to call all three scripts execute them and... (2 Replies)
I always find BASH easier than ksh. At my home, i have written this bash script. I am finding it hard to write its equivalent in ksh, any suggestions?
######################################
#return seconds since `00:00:00 1970-01-01 UTC' (a GNU extension)... (1 Reply)
How do i get the value of the variable from the called script(script2) to the calling script(script1) in ksh ?
I've given portion of the script here to explain the problem.
Portion of Script 1
=============
-----
-----
tmp=`a.ksh p1 p2 p3`
if then
# error processing
fi
-----... (10 Replies)
Ih all,
i have multiples ksh scripts for crontab's unix jobs
they all have same variables declarations and some similar functions
i would have a only single script file to declare my variables, like:
var1= "aaa"
var2= "bbb"
var3= "ccc"
...
function ab { ...}
function bc { ... }... (2 Replies)
Hi,
I have used exec ("/bin/ksh -c /path/file.ksh arg1"); to execute the file.ksh script from a test.pl script. But it doesnt work.. can anyone tell me what exactly the systax should be?... i have tried system("/path/file.ksh arg1"); too....still no luck...
quick replies are highly appreciated (1 Reply)
I normally trace a script with the ksh -x <script name> and redirect strderr to file. But if you have a script like the examble below......
vi hairy
bear=`grep bear animals`
if
then
ksh more_animals
fi
If I ksh -x hairy it won't trace "more_animals" unless I put a -x in it. Is... (1 Reply)
I am using awk in my .ksh script but when I am trying to run in windows
its not recognising awk part of the ksh script , even when I changed it to gawk it does not work, this is how my .ksh and .bat files look like.
thanx.
#!/bin/ksh
egrep -v "Rpt 038|PM$|Parameters:|Begin |Date: |End... (1 Reply)
Hi,
I'm new to unix scripting.How can i call a script from another script.
I have a.ksh and b.ksh .I have to call b.ksh from a.ksh after it is successfully exceuted.
I tried using
#!/bin/ksh -x in a.ksh and at the end i have used /path/b.ksh
My problem is it is executing only a.ksh.it... (6 Replies)