07-08-2005
#!/usr/bin/ksh Command Interpreter in a sh script
Hi,
I have a developer that is trying to start a script with sh "scriptname". In the script, he is specifying #!/usr/bin/ksh as the command interpreter. For some reason sh is ignoring the #!/usr/bin/ksh. We are running Solaris 8. Does anyone have any ideas what could be causing this? Here is the script:
#!/usr/bin/ksh
#--create test file to read
#
echo "1" > test_file
echo "2" >> test_file
echo "3" >> test_file
#--WHILE READ should populate variables when shell contains #!/usr/bin/ksh
#
record_cnt=0
initial="OUTSIDE"
while read record ##--placed into $record
do
record_cnt=`expr $record_cnt + 1`
initial="INSIDE"
echo "Records Read=$record_cnt”
done < test_file ##--input file to be read
echo " "
echo "Records Read=$record_cnt"
echo "Initial=$initial"
exit 0
8 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I am using IBM AIX unix version 4.3.3.0.
In a directory there are many files with different patterns.
When I am trying to execute the command, ls -l with the file pattern, which have fewer files it gives the desired result. However when I am trying to execute the same command for file pattern,... (2 Replies)
Discussion started by: jitindrabappa
2 Replies
2. Tips and Tutorials
Introduction
Originally, we only had one shell on unix. When ran a command, the shell would attempt to invoke one of the exec() system calls on it. It the command was an executable, the exec would succeed and the command would run. If the exec() failed, the shell would not give up, instead it... (3 Replies)
Discussion started by: Perderabo
3 Replies
3. Shell Programming and Scripting
Hi ,
My shell script doesnt function properly while executing.
My shell script has the below mentioned code in it.
#!/bin/sh
CD="/usr/bin/cd"
..
..
$CD /
..
..
main intention behind giving the $CD / is to replace the cd command with /usr/bin/cd at the time of program execution.
... (5 Replies)
Discussion started by: raghu.amilineni
5 Replies
4. UNIX for Dummies Questions & Answers
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
5. Shell Programming and Scripting
Usually we use !/usr/bin/ksh at the start of the script.But if I am having this stuff in the scripts and calling one script from other its not working.What may be the reason behind it ?
xyz.ksh
#!/usr/bin/ksh
echo "Hi"
abc.ksh
#!/usr/bin/ksh
echo "I am fine"
ksh xyz.ksh
Its... (4 Replies)
Discussion started by: dr46014
4 Replies
6. AIX
Hi,
I am getting the below error message When i am trying to delete the files from the directory.Could you please guide me?
rm *.aud
ksh: /usr/bin/rm: 0403-027 The parameter list is too long.
and
find /oracle/admin/testP/adump/*.aud -mtime +5 -exec rm {} \;
ksh: /usr/bin/find:... (3 Replies)
Discussion started by: nokiae63
3 Replies
7. Shell Programming and Scripting
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
8. Shell Programming and Scripting
I keep getting this error and I am not sure why.
-bash: ./p4: /bin/ksh^M: bad interpreter: No such file or directory
First I run my makefile and this works fine:
goodmain: main.o
gcc -o goodmain main.o
main.o: main.c
gcc -c main.c
Then I want to limit my output so I... (11 Replies)
Discussion started by: cokedude
11 Replies
PPERL(1p) User Contributed Perl Documentation PPERL(1p)
NAME
PPerl - Make perl scripts persistent in memory
SYNOPSIS
$ pperl foo.pl
DESCRIPTION
This program turns ordinary perl scripts into long running daemons, making subsequent executions extremely fast. It forks several processes
for each script, allowing many processes to call the script at once.
It works a lot like SpeedyCGI, but is written a little differently. I didn't use the SpeedyCGI codebase, because I couldn't get it to
compile, and needed something ASAP.
The easiest way to use this is to change your shebang line from:
#!/usr/bin/perl -w
To use pperl instead:
#!/usr/bin/pperl -w
WARNINGS
Like other persistent environments, this one has problems with things like BEGIN blocks, global variables, etc. So beware, and try checking
the mod_perl guide at http://perl.apache.org/guide/ for lots of information that applies to many persistent perl environments.
Parameters
$ pperl <perl params> -- <pperl params> scriptname <script params>
The perl params are sent to the perl binary the first time it is started up. See perlrun for details.
The pperl params control how pperl works. Try -h for an overview.
The script params are passed to the script on every invocation. The script also gets any current environment variables, the current working
directory, and everything on STDIN.
Killing
In order to kill a currently running PPerl process, use:
pperl -- -k <scriptname>
You need to make sure the path to the script is the same as when it was invoked.
Alternatively look for a .pid file for the script in your tmp directory, and kill (with SIGINT) the process with that PID.
ENVIRONMENT
pperl uses the PPERL_TMP_PATH environment variable to determine the directory where to store the files used for inter-process
communication. By default, the subdirectory .pperl of the user's home directory is used.
BUGS
The process does not reload when the script or modules change.
$^S is not represented identically with respect to perl, since your script will be run within an eval block
AUTHOR
Matt Sergeant, matt@sergeant.org. Copyright 2001 MessageLabs Ltd.
SEE ALSO
perl. perlrun.
perl v5.14.2 2011-11-15 PPERL(1p)