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:
$ cat SomeScriptOrOther.sh

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

echo "Wibble"

$ cat sleep.sh
echo $# "$@"
ps -Hfu $USER
sleep 1
$ ./SomeScriptOrOther.sh
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
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

$ 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
PTS_SLEEP(1)						       AFS Command Reference						      PTS_SLEEP(1)

pts_sleep - Pauses for a few seconds SYNOPSIS
pts sleep [-delay] <# of seconds> [-cell] <cell name> [-noauth] [-localauth] [-force] pts sl [-d] <# of seconds> [-c] <cell name> [-n] [-l] [-f] DESCRIPTION
The pts sleep pauses for a specified number of seconds. The command can be run from the command line or interactively, although from the command line it's essentially equivalent to the sleep command. It is intended for use in interactive mode to pause for a few seconds between batch commands to allow the Protection Server to catch up. CAUTIONS
Prior to OpenAFS 1.4.5 and OpenAFS 1.5.23, the pts sleep command was only available on Unix or Linux and when OpenAFS was compiled with the supergroups option (disabled by default). As of OpenAFS 1.4.5 and 1.5.23, it is always available. OPTIONS
Although they have no effect, pts sleep takes the following standard pts options: -cell <cell name> Names the cell in which to run the command. For more details, see pts(1). -force Enables the command to continue executing as far as possible when errors or other problems occur, rather than halting execution at the first error. -help Prints the online help for this command. All other valid options are ignored. -localauth Constructs a server ticket using a key from the local /etc/openafs/server/KeyFile file. Do not combine this flag with the -cell or -noauth options. For more details, see pts(1). -noauth Assigns the unprivileged identity anonymous to the issuer. For more details, see pts(1). OUTPUT
This command produces no output. EXAMPLES
Here is an example of a pts interactive session: % pts interactive pts> sleep 5 pts> quit % SEE ALSO
pts(1), pts_interactive(1) COPYRIGHT
Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com> This documentation is covered by the BSD License as written in the doc/LICENSE file. This man page was written by Jason Edgecombe for OpenAFS. OpenAFS 2014-04-08 PTS_SLEEP(1)

Featured Tech Videos

All times are GMT -4. The time now is 04:03 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy