In a nutshell, the first 2 characters happen to be the ascii representation of the hex values 0x23 0x21 which is a "magic number" that the shell interpreter uses. When the interpreter sees the #! as the first 2 characters, it builds a command line consisting of the remaining characters after the #! followed by the filename itself along with any values passed to it. i.e. for the following script called show_message:
called like this:
The actual command line run by the system would be:
The command after the #! does not have to be a shell either. Try this script:
or this:
Hi.
What does this command do in the shell script?
#!/bin/ksh
I have some scripts which do not run if this line is removed. First I thought it is comment but I think it sets up korn as shell.
Sanjay (2 Replies)
Hi,
I wrote scripting to perform some jobs. (eg, run_job)
Everything works ok when i tested it on my side.
I execute the run_job manually and it works perfectly ok.
When my administrator try to run it using a scheduler job.
He encountered problem of running it.
He said it might be due to... (1 Reply)
Can you please tell me what the command "#!/bin/ksh -e" means?
I tried running a ksh script with "#!/bin/ksh -e" as starting line, and with "#!/bin/ksh" as starting line - they behave differently..
Thanks!
Ramya (2 Replies)
Hi All,
I have a shell (#!/bin/sh) with below piece of code:
if !
then
echo Staging table ABC_INT_TAB is not present in the schema >> $OUTPUT
fi
Shell is throwning below error and continue to work even after this error... (3 Replies)
we have a shell script that we are using in KSH
if ]; then
_IFS=$IFS
IFS=:
and it's failing on /bin/sh . Is there a simple way to modify it to work on both . ( not with awk)
Thanks in adv (3 Replies)
Hi,
I have a problem I don't understand with fuser.
I launch a simple shell script mysleep.sh:
I launch the command fuser -fu mysleep.sh but fuser doesn't return anything excepted:
mysleep:
Then I modify my script switching from #!/bin/sh to #!/bin/ksh
I launch the command fuser -fu... (4 Replies)
Let's say i have 20 users logged on Server. How can I know how much memory percent used each of them is using with system time in each user? (2 Replies)
I saw one script using the first line as below
/usr/bin/ksh -E
I have used -x for debug but couldn't find what is this -E option for ?
Pls let me know what is this -E used for
Thanks
RL (1 Reply)
Some question about the usage of shell scripts:
1.) Are the commands of the base shell scripts a subset of bash commands?
2.) Assume I got a long, long script WITHOUT the first line.
How can I find out if the script was originally designed für "sh" or "bash"?
3.) How can I check a given... (3 Replies)
Discussion started by: pstein
3 Replies
LEARN ABOUT OPENSOLARIS
echo
echo(1B) SunOS/BSD Compatibility Package Commands echo(1B)NAME
echo - echo arguments to standard output
SYNOPSIS
/usr/ucb/echo [-n] [argument]
DESCRIPTION
echo writes its arguments, separated by BLANKs and terminated by a NEWLINE, to the standard output.
echo is useful for producing diagnostics in command files and for sending known data into a pipe, and for displaying the contents of envi-
ronment variables.
For example, you can use echo to determine how many subdirectories below the root directory (/) is your current directory, as follows:
o echo your current-working-directory's full pathname
o pipe the output through tr to translate the path's embedded slash-characters into space-characters
o pipe that output through wc -w for a count of the names in your path.
example% /usr/bin/echo "echo $PWD | tr '/' ' ' | wc -w"
See tr(1) and wc(1) for their functionality.
The shells csh(1), ksh(1), and sh(1), each have an echo built-in command, which, by default, will have precedence, and will be invoked if
the user calls echo without a full pathname. /usr/ucb/echo and csh's echo() have an -n option, but do not understand back-slashed escape
characters. sh's echo(), ksh's echo(), and /usr/bin/echo, on the other hand, understand the black-slashed escape characters, and ksh's
echo() also understands a as the audible bell character; however, these commands do not have an -n option.
OPTIONS -n Do not add the NEWLINE to the output.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWscpu |
+-----------------------------+-----------------------------+
SEE ALSO csh(1), echo(1), ksh(1), sh(1), tr(1), wc(1), attributes(5)NOTES
The -n option is a transition aid for BSD applications, and may not be supported in future releases.
SunOS 5.11 3 Aug 1994 echo(1B)