7

My lab uses csh scripts to run jobs. It is usually difficult for me to debug a shell script, so I'm wondering if there is a csh debugger I can use.

I know there are some flags like -x or -v that can help, but because the script is kind of long, it would be better if I can set breakpoints on it. As I searched online, I found there is a debugger specifically for bash scripts that supports breakpoints, but I couldn't find one for csh scripts. Will the bash debugger work? Is there a csh-specific debugger I can use?

2
  • 1
    Doesn't csh -x yourScript.sh cut it?
    – Bobby
    Commented Oct 8, 2012 at 21:37
  • I dont think "shell" has debugger, just echo the values out or use -x
    – daisy
    Commented Oct 9, 2012 at 6:28

3 Answers 3

6

This page lists two useful csh switches: -v to show each command before variables are substituted, and -x to show them afterwards.

0
2

In addition to -v and -x, you can stop execution for an arbitrary amount of time in csh by assigning $< to a variable that you aren't using

set unused_var = $<

This will block until you've read a line from /dev/tty, so it works even if your script is in a pipeline.

This gives you the ability to run commands and "look around" before the script is done executing.

0

I tried this and seems I can see debug output in the terminal.

set echo

For scripts you can call with

csh -x <scriptname>

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .