I'm using set -e to force my script to exit whenever an error occurs running a command.
However this has the side effect of closing my putty terminal window that I am using to connect via SSH to the host.
How do I stop the terminal from closing?
puttyssh
I'm using set -e to force my script to exit whenever an error occurs running a command.
However this has the side effect of closing my putty terminal window that I am using to connect via SSH to the host.
How do I stop the terminal from closing?
Best Answer
How are you running the script? The circumstances of a subprocess's exit shouldn't affect the shell that ran it... unless you're sourcing the script into your running shell.
For example...
A 'nix shell is a running process of some shell interpreter (e.g.,
bash
,ksh
,csh
). "source"ing a script (which you can do inbash
with the commandsource
or its alias.
) tells that interpreter to open the indicated file and process its contents. In effect, the script becomes a shortcut for entering commands interactively. Functions defined, variables set, and (in your case)exit
s processed take effect in the original shell../my-script.sh
is a simple file path../
refers to the current directory andmy-script.sh
to a script within that directory. When the file is marked as executable, the file will be executed. In the case of a script, this means launching a new interpreter process (as defined by the#!
line at the top of the script, or/bin/sh
by default) and using it to interpret the script. Functions defined, variables set, andexit
s processed are confined to that new interpreter process.