C shell script wont terminated if i don't modify the shebang


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting C shell script wont terminated if i don't modify the shebang
# 1  
Old 11-28-2017
C shell script wont terminated if i don't modify the shebang

Hi all, I'm new to shell script
i wrote some shell script for my colleague, everyone is fine,except on user

we are using VNC viewer to work
and there are some script start with shebang #! /bin/csh
there is an user will not terminate after running the script even if a hello world
i need to ctrl+c to stop the script manually
Below is my hello world

Code:
#! /bin/csh
echo "Hello World! \a \n"
exit 0

but if i modify the shebang to

Code:
"#! /bin/csh -f"

it works , and could be terminated normally

I google it and I know that -f means fast , it will ignore the .cshrc and .login
but I tried to remove the .cshrc in his home directory,it still wont be terminated and there's no .login in his home directory

So how can I make user can normally use my script without modify my shebang ?
# 2  
Old 11-28-2017
Welcome to the forum.

You spoiled the shebang when you added the leading double quote, so the script will be executed with your user's default shell.
On the other hand, I can't see why the first scriptlet should not terminate on exit 0 without a <CTRL>C, be it run with csh or any other shell (although I'm definitely NOT a csher)
# 3  
Old 11-28-2017
The shebang was quoted, then code tags were added after the original posting, so it seems the quotes weren't removed at that time

If it weren't for the it works with -f bit, I'd be inclined to ask the person for whom it doesn't work to check his VNC client configuration.
# 4  
Old 11-28-2017
There might be a loop caused by a system csh startup file that runs before the user's .cshrc
For debugging change the shebang to
Code:
#!/bin/csh -X

This User Gave Thanks to MadeInGermany For This Post:
# 5  
Old 11-28-2017
I don't get that for a number of reasons.
  • There's nothing in the O/Ps post to suggest his echo is "looping".
  • The -X wouldn't add any debug output to the parent shell and wouldn't be needed were it so obviously looping
  • The O/P already stated that the startup scripts were removed
  • Why would the same scripts behave differently between users?

More information from the O/P needed for clarification, I would say. Such as why would you "VNC" to run a script in the first place? Really VNC or, perhaps VPN via a terminal emulator? Some terminal emulators don't close when the running command (or script) exits, by default, and might require some action on the (client) user's part.
# 6  
Old 11-28-2017
sorry i use " " in the post is just to emphasis , not i write it in the shell script

Code:
#! /bin/csh -f

this is ok, and i run the script by just type the file name

and i also found that if i use "source filepath" and it will terminate normally
with the shebang #! /bin/csh

maybe there is some reason that the child shell is in the loop?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

A shell script to run a script which don't get terminated and send a pattern from the output by mail

Hi Guys, I am very new to shell script and I need your help here to write a script. Actually, I have a script abc.sh which don't get terminated itself. So I need to design a script to run this script, save the output to a file, search for a given string in the output and if it exists send those... (11 Replies)
Discussion started by: Sambit Sahu
11 Replies

2. Shell Programming and Scripting

How to modify character to UTF-8 in shell script?

I have a shell script running to load some data from a text file to database. Text file contains some non-ASCII characters like ü. How can i convert these characters to UTF-8 codes before loading to DB. (5 Replies)
Discussion started by: vel4ever
5 Replies

3. Shell Programming and Scripting

Shell script to modify file in several directories

Hi, I want a script shell to automate modifying httpd.conf file for several instances of apache, save httpd.file before changing it, after modifying it and then restart apache. - Replace ServerRoot "xxxx" by ServerRoot "yyyy" of all directories : "... (4 Replies)
Discussion started by: bras39
4 Replies

4. Shell Programming and Scripting

Shell script wont execute

Im using a script that writes a random line to a text file then executes another shell script. My problem is that the lottery shell script will not execute. Im not receiving an errors when running the shell script, and it copies a random line of text to mtest.txt fine. #!/bin/bash nscripts=2... (3 Replies)
Discussion started by: kylecn
3 Replies

5. Shell Programming and Scripting

Can we use two shebang statements in a single shell script?

Hi, As per my understanding, we can use two shebang statements in a single shell script. Please see below snippet- #!/bin/bash .......## some code A #!/bin/csh .......## some code B exit 0; Here, code A will be executed using bash shell and code B will be executed with c shell. ... (9 Replies)
Discussion started by: tarunmudgal4u
9 Replies

6. UNIX for Dummies Questions & Answers

Tcl script wont run in bash shell

Hello I'm having a problem running a TCL script in my new OpenSolaris OS. When I go to the directory containing my script called 'Install' (using the gnome terminal), it doesn't seem to be able to find it even though it lists it i.e. if I type "Inst" and hit tab to complete the word, it... (11 Replies)
Discussion started by: sbsbg
11 Replies

7. Shell Programming and Scripting

Error in shell script when #!/bin/bash is used as shebang

#!/bin/ksh echo -en "\033|||'-')) echo -e "\033 The above script works fine when the interpreter is ksh, but outputs the following error when #!/bin/bash is used as shebang: test.sh: line 5: syntax error near unexpected token `(' test.sh: line 5: `case "$ACTIVATION_KEY" in +(|||'-'))' (2 Replies)
Discussion started by: proactiveaditya
2 Replies

8. UNIX for Dummies Questions & Answers

Foreground shell script terminated when session expired

Hi, I ran a shell script in the foreground but it seems that the shell script teminated when the session expired. Please let me knw if it's possible or hypothesis is incorrect ASAP. (2 Replies)
Discussion started by: Ankgne
2 Replies

9. Shell Programming and Scripting

how to modify a file using shell script

Hi, i am using SuonOS and ksh. i need to add data into a file(s.txt) using a shell script. i have to pass 3 parameters and these 3 paramaters should add into the file at end of the file. File s.txt is look like, --------------------------------- column1|column2|column3 ... (1 Reply)
Discussion started by: syamkp
1 Replies

10. Shell Programming and Scripting

Is it possible in a shell script to modify itself ??

We are running a quiz and the data collected from the quiz is submitted to the database. My requirement is to write a shell script to get these submitted records. I should be able to run this shell script at any time and the records it returns should be the ones submitted after the script was... (5 Replies)
Discussion started by: sehgalniraj
5 Replies
Login or Register to Ask a Question