Sponsored Content
Top Forums UNIX for Advanced & Expert Users Running scripts without a hashbang - ksh anomaly? Post 302911146 by CarloM on Wednesday 30th of July 2014 11:26:18 AM
Old 07-30-2014
Running scripts without a hashbang - ksh anomaly?

I noticed some strange looking parameters on some processes on one of our servers, and after a little playing around we deduced that ksh seemed to be adding a (somewhat random) extra parameter when calling a script without a hashbang in it.

It looks like it's the partial name of the parent script (and not always the same number of characters). I'm thinking it's not just a display artifact as it's in /proc/xxx/cmdline as well. However, the script arguments don't see it.

It doesn't happen if the child script has a hashbang or is called explicitly with ksh, or if the parent script is run with bash.

It doesn't appear to be causing any actual problem for the real script, but it seems a tad odd.


Can anyone shed any light on this?

An example:
Code:
$ cat SomeScriptOrOther.sh
#!/bin/ksh

ksh ./sleep.sh PARAM1 PARAM2
./sleep.sh PARAM1 PARAM2

echo "Wibble"

$ cat sleep.sh
echo $# "$@"
ps -Hfu $USER
sleep 1
$ ./SomeScriptOrOther.sh
2 PARAM1 PARAM2
UID        PID  PPID  C STIME TTY          TIME CMD
14347     8996  8989  0 15:53 ?        00:00:00 sshd: carlo@pts/0
14347     8997  8996  0 15:53 pts/0    00:00:00   -bash
14347    11273  8997  0 16:00 pts/0    00:00:00     /bin/ksh ./SomeScriptOrOther.sh
14347    11274 11273  0 16:00 pts/0    00:00:00       ksh ./sleep.sh PARAM1 PARAM2
14347    11275 11274  0 16:00 pts/0    00:00:00         ps -Hfu carlo
2 PARAM1 PARAM2
UID        PID  PPID  C STIME TTY          TIME CMD
14347     8996  8989  0 15:53 ?        00:00:00 sshd: carlo@pts/0
14347     8997  8996  0 15:53 pts/0    00:00:00   -bash
14347    11273  8997  0 16:00 pts/0    00:00:00     /bin/ksh ./SomeScriptOrOther.sh
14347    11278 11273  0 16:00 pts/0    00:00:00       ./sleep.sh PARAM1 PARAM2 her.sh
14347    11279 11278  0 16:00 pts/0    00:00:00         ps -Hfu carlo
Wibble

Code:
$ ksh --version
  version         sh (AT&T Research) 93t+ 2010-06-21

 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

executing variables in ksh scripts?

In a ksh script on an AIX box running a jillion oracle database processes, I'm setting a variable to one of two possible arguments, depending on cmd line arguments. FINDIT="ps -ef | grep oracle | grep DBexport | grep rshrc" -or- FINDIT="ps -ef | grep oracle | grep prod | grep runback" I... (3 Replies)
Discussion started by: zedmelon
3 Replies

2. Shell Programming and Scripting

converting ksh scripts to sh

Hello All, I have a whole bunch of shell scripts written in a ksh environment and which successfully execute there. However, I found out that they eventually need to be used in a sh environment. So some commands like some_variable=$(some_command) fail because sh doesn't understand $(.....). I... (11 Replies)
Discussion started by: sherkaner
11 Replies

3. Shell Programming and Scripting

Running scripts via su

Hi All, Am using the below command to start my application using the root user su - bin -c "/home/bin/test/start.sh" but am getting the error becaue i have set some environment varibales in bin .profile when i execute the command start.sh by logging directly into bin account it's... (8 Replies)
Discussion started by: ravi.sri24
8 Replies

4. Shell Programming and Scripting

Running scripts within scripts from cron

Hi all, I have set up a cron job which calls another shell script shell script which in turn calls a Java process. The cron tab looks so. 0,30 7-18 * * 1-5 /u01/home/weblogic/brp/bin/checkstatus.sh >> /u01/home/weblogic/logs/checkstatus.log The checkstatus.sh scripts looks like this. ... (4 Replies)
Discussion started by: sirbrian
4 Replies

5. Shell Programming and Scripting

Ksh Associating scripts

Im writing a script in the Ksh, as the title suggests. OK so im sincerely tring to be lazy. Im trying to make a script that will use another file as a sort of variable library So basically i dont need to include the variables themselves, just want to make a reference to the file, so the... (2 Replies)
Discussion started by: Demon002
2 Replies

6. Shell Programming and Scripting

KSH script to run other ksh scripts and output it to a file and/or email

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)
Discussion started by: pacifican
2 Replies

7. Shell Programming and Scripting

hashbang line

Hi All, I am new to this forum. I would really appreciate if some one from you expert team could answer my qns: 1) whats the difference between the below commands. what events occur in the background when I fire each of the three commands. >./script.ksh >sh script.ksh >script.ksh ... (11 Replies)
Discussion started by: agrawal.prachi
11 Replies

8. Shell Programming and Scripting

KSH - How to call different scripts from master scripts based on a column in an Oracle table

Dear Members, I have a table REQUESTS in Oracle which has an attribute REQUEST_ACTION. The entries in REQUEST_ACTION are like, ME, MD, ND, NE etc. I would like to create a script which will will call other scripts based on the request action. Can we directly read from the REQUEST_ACTION... (2 Replies)
Discussion started by: Yoodit
2 Replies

9. Shell Programming and Scripting

Restrict access to .ksh scripts

Hi, How to restrict access to a .ksh script in such the way that the users can only execute the script, neither read nor write. I tried the below code so that my user alone has the rwx and other users can only execute. chmod 711 sample.ksh But when I logged in as a different user... (26 Replies)
Discussion started by: machomaddy
26 Replies
let(1)                                                             User Commands                                                            let(1)

NAME
let - shell built-in function to evaluate one or more arithmetic expressions SYNOPSIS
ksh let arg... DESCRIPTION
ksh Each arg is a separate "arithmetic expression" to be evaluated. EXIT STATUS
The following exit values are returned: 0 The value of the last expression is non-zero. 1 The value of the last expression is zero. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ SEE ALSO
ksh(1), set(1), typeset(1), attributes(5) SunOS 5.10 15 Apr 1994 let(1)
All times are GMT -4. The time now is 07:05 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy