What is the function of the following lines at the top of a shell script file: Directory and Script?

Tags
shell bash ksh, shell script, shell script commands, shell scripts

Login to Reply

 
Thread Tools Search this Thread
# 1  
Old 05-04-2016
What is the function of the following lines at the top of a shell script file: Directory and Script?

The file starts like this:

Code:
Directory: <path to the script>
Script: <script fife name>

#!bin/ksh

##Comments

<actual script>

What is the use of the first two lines in the script? What if I save the file without them? What will be the effect? They are not comments. Im very new to this, please help!
# 2  
Old 05-04-2016
Quote:
Originally Posted by remytom
The file starts like this:

Code:
Directory: <path to the script>
Script: <script fife name>

#!bin/ksh

##Comments

<actual script>

What is the use of the first two lines in the script? What if I save the file without them? What will be the effect? They are not comments. Im very new to this, please help!
The first line of a script should be the shebang #! which it says what program is supposed to run the script when you make the file executable and run it as ./script.sh

However the script can be run as:
ksh script.sh

If you remove the shebang that's the only option you have.
Anything that starts with just a # (except the #!, when is the first line) will be ignored as commands. They are just human readable comments.

I am assuming that the following does not exist in your actual script, since that will be incorrect.
Code:
Directory: <path to the script>
Script: <script fife name>

Note that your #!bin/ksh should be #!/bin/ksh if your ksh shell lives there.

Last edited by Aia; 05-04-2016 at 01:56 AM..
# 3  
Old 05-04-2016
Thank you!

Thank you for the quick reply. I have removed these lines from my code. But I see working scripts which have them. Its strange though, because I do get the error of command not found for these lines.

Thanks a lot!
# 4  
Old 05-04-2016
Quote:
Originally Posted by remytom
.
.
.
Its strange though, because I do get the error of command not found for these lines.
.
.
.
No surprise as these "commands" really don't exist. Didn't this error msgs make you suspicious?

Last edited by RudiC; 05-04-2016 at 05:43 AM..
# 5  
Old 05-04-2016
I believe that Directory: and Script: may be keywords in ksh93 used for creating libraries of scripts that can be loaded as shell built-ins.

Although in bash the command line:
Code:
Directory: date

will give you a diagnostic similar to:
Code:
bash: Directory:: command not found

that same command (and:
Code:
Script: date

or:
Code:
name: date

for any other name) in ksh93 (at least the Korn shell on OS X with version information: sh (AT&T Research) 93u+ 2012-08-01) will print the current date and time.

Note that the standards specify that the name of a utility (and the name of a variable and several other names) is "a word consisting solely of underscores, digits, and alphabetics from the portable character set. The first character of a name is not a digit." So the standards allow shells to produce unspecified results when a utility name contains a colon. (It appears that ksh93 does assign some meaning to names ending with a colon [names containing a colon other than as the last character don't seem to be treated specially], but I haven't found any description of exactly what those results are intended to be in the man page.)

Some of you who have been around as long as I have may also remember that some early shells (pre-Bourne) used a string ending with a colon appearing at the start of a line as a label that could be jumped to with a:
Code:
goto label

command. I believe the Mashey shell was the 1st to deprecate the goto command and the Bourne shell was the first shell that did not include a goto command.
Login to Reply

|
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Similar Threads More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
Shell script to pass the config file lines as variable on the respective called function on a script sadique.manzar Shell Programming and Scripting 6 11-16-2017 07:32 AM
Shell script cannot create directory and move the file to that directory digioleg54 Shell Programming and Scripting 9 04-12-2017 03:57 AM
Script to search every file in a directory and print last few lines mojoman Shell Programming and Scripting 2 11-10-2016 05:43 AM
Writing a UNIX shell script to call a C function and redirecting data to a .txt file bjhjh Programming 2 09-23-2016 07:16 AM
Shell Script function to use script name for log file output SIMMS7400 Shell Programming and Scripting 11 04-03-2016 07:01 PM
Shell scripting-I need a script which should watch a directory for a file with specific directory akashdeepak Shell Programming and Scripting 8 08-26-2014 06:05 PM
Shell script to read lines in a text file and filter user data Shell Programming and Scripting VikrantD UNIX for Dummies Questions & Answers 3 03-25-2014 04:28 AM
Shell Script - (File and Directory) spider-man Homework & Coursework Questions 3 11-26-2012 01:54 AM
Shell Script - (file and directory) spider-man Homework & Coursework Questions 1 11-25-2012 06:06 PM
Calling a function in cpp file inside shell script rkrish Shell Programming and Scripting 1 06-19-2012 10:06 PM
delete only particular file in directory shell script guidely Shell Programming and Scripting 1 09-21-2011 12:17 PM
Call shell script function from awk script aishsimplesweet Shell Programming and Scripting 2 08-25-2011 11:42 AM
Need Shell Script to delete lines in a file phani333 Shell Programming and Scripting 4 04-29-2010 07:41 PM
extracting function headers in a c/c++ file using shell script priyadarshini Shell Programming and Scripting 3 06-24-2009 11:31 AM
getting : No such file or directory while executing a shell script ananthi_ku Shell Programming and Scripting 7 10-10-2008 10:08 AM
All times are GMT -4. The time now is 02:13 AM.

Unix & Linux Forums Content Copyright 1993-2018. All Rights Reserved.
UNIX.COM Login
Username:
Password:  
Show Password





Not a Forum Member?
Forgot Password?