Sponsored Content
Full Discussion: Usage of #!/bin/ksh
Top Forums UNIX for Dummies Questions & Answers Usage of #!/bin/ksh Post 302551427 by gary_w on Tuesday 30th of August 2011 10:32:57 AM
Old 08-30-2011
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:
Code:
#!/bin/ksh 
print $1

called like this:
Code:
show_message "hello world!"

The actual command line run by the system would be:
Code:
/bin/ksh show_message "hello world!"

The command after the #! does not have to be a shell either. Try this script:
Code:
#!/bin/ls -l

or this:
Code:
#!/bin/rm
print This will not show because the script is deleted on the first line

This User Gave Thanks to gary_w For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

#!/bin/ksh

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

2. Shell Programming and Scripting

#!/bin/ksh

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)
Discussion started by: maldini
1 Replies

3. Shell Programming and Scripting

#!/bin/ksh -e

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

4. Shell Programming and Scripting

#!/bin/sh and #!/bin/ksh

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)
Discussion started by: bhush782003
3 Replies

5. Shell Programming and Scripting

/bin/sh and /bin/ksh problem

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)
Discussion started by: talashil
3 Replies

6. UNIX for Dummies Questions & Answers

fuser: difference with bin/sh and bin/ksh shell script

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)
Discussion started by: Peuj
4 Replies

7. Shell Programming and Scripting

meaning of #!/bin/ksh -p

:b:HI Friends, Can you help me understand -p option with /usr/bin/ksh shell interpreter ? Thanks, Panditt (1 Reply)
Discussion started by: deshaipet
1 Replies

8. UNIX for Dummies Questions & Answers

Memory usage per user,percent usage,sytem time in ksh

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

9. Shell Programming and Scripting

/usr/bin/ksh -E

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)
Discussion started by: reldb
1 Replies

10. Shell Programming and Scripting

Usage of #!/bin/sh vs #!/bin/bash shell scripts?

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
getusershell(3C)					   Standard C Library Functions 					  getusershell(3C)

NAME
getusershell, setusershell, endusershell - get legal user shells SYNOPSIS
#include <unistd.h> char *getusershell(void); void setusershell(void); void endusershell(void); DESCRIPTION
The getusershell() function returns a pointer to a legal user shell as defined by the system manager in the file /etc/shells. If /etc/shells does not exist, the following locations of the standard system shells are used in its place: /bin/bash /bin/csh /bin/jsh /bin/ksh /bin/ksh93 /bin/pfcsh /bin/pfksh /bin/pfsh /bin/sh /bin/tcsh /bin/zsh /sbin/jsh /sbin/pfsh /sbin/sh /usr/bin/bash /usr/bin/csh /usr/bin/jsh /usr/bin/ksh /usr/bin/ksh93 /usr/bin/pfcsh /usr/bin/pfksh /usr/bin/pfsh /usr/bin/sh /usr/bin/tcsh /usr/bin/zsh /usr/sfw/bin/zsh /usr/xpg4/bin/sh The getusershell() function opens the file /etc/shells, if it exists, and returns the next entry in the list of shells. The setusershell() function rewinds the file or the list. The endusershell() function closes the file, frees any memory used by getusershell() and setusershell(), and rewinds the file /etc/shells. RETURN VALUES
The getusershell() function returns a null pointer on EOF. BUGS
All information is contained in memory that may be freed with a call to endusershell(), so it must be copied if it is to be saved. NOTES
Restricted shells should not be listed in /etc/shells. SunOS 5.11 1 Nov 2007 getusershell(3C)
All times are GMT -4. The time now is 11:23 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy