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?

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

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

  • 1
    Welcome to Unix and Linux! Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference. – Renan Oct 8 '12 at 22:03

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.