hashbang line


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting hashbang line
# 8  
Old 06-03-2010
So Scott, you are saying that if "." is not mentioned in my PATH variable then ./MyScript give me the desired results?

else simply executing MyScript will do. Is it?
# 9  
Old 06-03-2010
Code:
./MyScript

... will explicitly execute MyScript in the current directory

Code:
MyScript

... will execute the first executable program (or script) called MyScript in your PATH.

Code:
$ mkdir T1 T2

$ echo "echo T1_script" > T1/Script

$ echo "echo T2_script" > T2/Script

$ PATH=T1

$ chmod u+x T1/Script T2/Script
-ksh: chmod: not found        chmod is not in my path any more

$ /bin/chmod u+x T1/Script T2/Script

$ Script
T1_Script

$ PATH=T2

$ Script
T2_Script

# 10  
Old 06-03-2010
Also, "." should never be in your PATH anyway.

This prevents a situation where someone can put a file named, for example, "ls" in their own home directory, which contains commands only root can execute, and have you unknowingly execute it as root (by simply typing "ls").

So, you should always be referencing your scripts with either ./ or full path.
# 11  
Old 06-04-2010
Quote:
Having . in your PATH is generally not a good idea
Don't necessarily agree with that! For example, if you create a script called test.ksh in your current directory, having '.' as the very first element of $PATH means that invoking test.ksh will use that instead of any other one that may be lying around elsewhere in your PATH, so for me, it's useful.
Depending on your operating system and shell, you can invoke these commands to determine which one will actually run...
Code:
> whence test.ksh
/home/jerry/test.ksh

Code:
>type test.ksh
test.ksh is /home/jerry/test.ksh

Code:
>which test.ksh
./test.ksh

# 12  
Old 06-04-2010
sh script.ksh runs the script even if it is not in executable mode
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Get an output of lines in pattern 1st line then 10th line then 11th line then 20th line and so on.

Input file: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 (6 Replies)
Discussion started by: Sagar Singh
6 Replies

2. Shell Programming and Scripting

How to read file line by line and compare subset of 1st line with 2nd?

Hi all, I have a log file say Test.log that gets updated continuously and it has data in pipe separated format. A sample log file would look like: <date1>|<data1>|<url1>|<result1> <date2>|<data2>|<url2>|<result2> <date3>|<data3>|<url3>|<result3> <date4>|<data4>|<url4>|<result4> What I... (3 Replies)
Discussion started by: pat_pramod
3 Replies

3. UNIX for Advanced & Expert Users

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... (10 Replies)
Discussion started by: CarloM
10 Replies

4. Shell Programming and Scripting

Need a program that read a file line by line and prints out lines 1, 2 & 3 after an empty line...

Hello, I need a program that read a file line by line and prints out lines 1, 2 & 3 after an empty line... An example of entries in the file would be: SRVXPAPI001 ERRO JUN24 07:28:34 1775 REASON= 0000, PROCID= #E506 #1065: TPCIPPR, INDEX= 003F ... (8 Replies)
Discussion started by: Ferocci
8 Replies

5. Shell Programming and Scripting

sed command to replace a line at a specific line number with some other line

my requirement is, consider a file output cat output blah sdjfhjkd jsdfhjksdh sdfs 23423 sdfsdf sdf"sdfsdf"sdfsdf"""""dsf hellow there this doesnt look good et cetc etc etcetera i want to replace a line of line number 4 ("this doesnt look good") with some other line ... (3 Replies)
Discussion started by: vivek d r
3 Replies

6. Shell Programming and Scripting

how to read the contents of two files line by line and compare the line by line?

Hi All, I'm trying to figure out which are the trusted-ips and which are not using a script file.. I have a file named 'ip-list.txt' which contains some ip addresses and another file named 'trusted-ip-list.txt' which also contains some ip addresses. I want to read a line from... (4 Replies)
Discussion started by: mjavalkar
4 Replies

7. Solaris

Line too long error Replace string with new line line character

I get a file which has all its content in a single row. The file contains xml data containing 3000 records, but all in a single row, making it difficult for Unix to Process the file. I decided to insert a new line character at all occurrences of a particular string in this file (say replacing... (4 Replies)
Discussion started by: ducati
4 Replies

8. Shell Programming and Scripting

[Solved] Problem in reading a file line by line till it reaches a white line

So, I want to read line-by-line a text file with unknown number of files.... So: a=1 b=1 while ; do b=`sed -n '$ap' test` a=`expr $a + 1` $here do something with b etc done the problem is that sed does not seem to recognise the $a, even when trying sed -n ' $a p' So, I cannot read... (3 Replies)
Discussion started by: hakermania
3 Replies

9. UNIX for Advanced & Expert Users

how do you parse 1 line at a time of file1 ie. line(n) each line into new file

File 1 <html>ta da....unique file name I want to give file=>343...</html> <html>da ta 234 </html> <html>pa da 542 </html> and so on... File 2 343 234 542 and so on, each line in File 1 one also corresponds with each line in File 2 I have tried several grep, sed, while .. read, do,... (4 Replies)
Discussion started by: web_developer
4 Replies
Login or Register to Ask a Question