01-13-2012
Debugging a script with noexec
Newbie question. I cannot get "set -n" or "set -noexec on" to work on Linux or AIX! According to the man page and what I read online, it should inform me of syntax errors without executing commands in your script.
So, can someone PLEASE explain why this does not work?
======================================
# WHAT I SHOULD SEE
rochatk:/tmp # cat t1
#set -n
echo test
ech test1
rochatk:/tmp # ./t1
test
./t1: line 4: ech: command not found
# REMOVE COMMENT FROM SET COMMAND
rochatk:/tmp # vi t1
rochatk:/tmp # cat t1
set -n
echo test
ech test1
rochatk:/tmp # ./t1
rochatk:/tmp #
======================================
Why don't I see the error after "set -n" is enabled?
Thank you for your help!
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I was using AIX - ksh shell , and inorder to debug shell script I used set -vx to echo all the commands which are being executed.
Can anybody tell me the corresponding method in HP-UX - in tcsh shell.
Regards
Shihab (1 Reply)
Discussion started by: shihabvk
1 Replies
2. Shell Programming and Scripting
Hello all,
I am trying to run a script and have not had much success running it...ne help debugging it will be appreciated..The ftp script alone works but not within the while loop.
below is the script
#!/usr/bin/ksh
destination_server=servename
destination_user_id=un... (1 Reply)
Discussion started by: alfredo123
1 Replies
3. Shell Programming and Scripting
I am having problems w/this script. Menu is not comming up to prompt me. I've worked on it for days and still cannot see the problem. Anyone can help, I would appreciate it. Possible problems with syntax and function calls.
Thks...
TMP=$tapemgr/rpts/tmp
# TAPE MANAGER MAIN MENU
while : do... (8 Replies)
Discussion started by: gzs553
8 Replies
4. Shell Programming and Scripting
Hi all,
Am working on a script to understand the flow control of it..
Since i am from a C background i looking out for an easy way to analyze the script as it runs ..
In C/C++ we have F7 that starts execution from main() and proceeds accordingly..
I was wondering if there is a same approach... (2 Replies)
Discussion started by: wrapster
2 Replies
5. Shell Programming and Scripting
is there any way you can add a breakpoint in a script so you can stop on it?
i have used -xv in my shebang but the script just runs and i want it to stop at a specific point in the script.
appreciate any help. (1 Reply)
Discussion started by: npatwardhan
1 Replies
6. Shell Programming and Scripting
Hello, Some one asked me in the inteview.... The question is,
How do we debug the schell script before even running..... Interviewer
told me one clue... There is SET command to accomplish this... Can any
one tell me what kind of set commands.... Thanks. (2 Replies)
Discussion started by: govindts
2 Replies
7. Red Hat
I would like mimic "noexec” and “nosuid” on /tmp security when its a seperate file system BUT I would like to hang /tmp directly off of / "root". Any suggestions would be helpful. (1 Reply)
Discussion started by: trscam
1 Replies
8. Shell Programming and Scripting
Hello Friends
I am having trouble with my script below. I will describe the problems below the code box. I am hoping that some of the experts here can help me.
#!/bin/bash
#=========================================================================================================
# Rsync File... (8 Replies)
Discussion started by: jdavis_33
8 Replies
9. Shell Programming and Scripting
hi all
only the weirdest thing happened with me just now. I was debugging a shell script and I found that a step that was supposed to execute later was getting executed prior to another step for no reason. You know any ?
i mean have a look at the following command-
here it tries to grep... (7 Replies)
Discussion started by: leghorn
7 Replies
10. UNIX for Advanced & Expert Users
Hi all,
I read in some documents that it is advised to use the mount option noexec also on /home. I can live with a nosuid but since I am writing scripts in /home and also execute them for testing etc., it is very annoying if I would be forced to copy the scripts all the time to /tmp for... (5 Replies)
Discussion started by: zaxxon
5 Replies
LEARN ABOUT CENTOS
unbuffer
UNBUFFER(1) General Commands Manual UNBUFFER(1)
NAME
unbuffer - unbuffer output
SYNOPSIS
unbuffer program [ args ]
INTRODUCTION
unbuffer disables the output buffering that occurs when program output is redirected from non-interactive programs. For example, suppose
you are watching the output from a fifo by running it through od and then more.
od -c /tmp/fifo | more
You will not see anything until a full page of output has been produced.
You can disable this automatic buffering as follows:
unbuffer od -c /tmp/fifo | more
Normally, unbuffer does not read from stdin. This simplifies use of unbuffer in some situations. To use unbuffer in a pipeline, use the
-p flag. Example:
process1 | unbuffer -p process2 | process3
CAVEATS
unbuffer -p may appear to work incorrectly if a process feeding input to unbuffer exits. Consider:
process1 | unbuffer -p process2 | process3
If process1 exits, process2 may not yet have finished. It is impossible for unbuffer to know long to wait for process2 and process2 may
not ever finish, for example, if it is a filter. For expediency, unbuffer simply exits when it encounters an EOF from either its input or
process2.
In order to have a version of unbuffer that worked in all situations, an oracle would be necessary. If you want an application-specific
solution, workarounds or hand-coded Expect may be more suitable. For example, the following example shows how to allow grep to finish pro-
cessing when the cat before it finishes first. Using cat to feed grep would never require unbuffer in real life. It is merely a place-
holder for some imaginary process that may or may not finish. Similarly, the final cat at the end of the pipeline is also a placeholder
for another process.
$ cat /tmp/abcdef.log | grep abc | cat
abcdef
xxxabc defxxx
$ cat /tmp/abcdef.log | unbuffer grep abc | cat
$ (cat /tmp/abcdef.log ; sleep 1) | unbuffer grep abc | cat
abcdef
xxxabc defxxx
$
BUGS
The man page is longer than the program.
SEE ALSO
"Exploring Expect: A Tcl-Based Toolkit for Automating Interactive Programs" by Don Libes, O'Reilly and Associates, January 1995.
AUTHOR
Don Libes, National Institute of Standards and Technology
1 June 1994 UNBUFFER(1)