Can you explain me common UNIX / Linux / Mac OS X / BSD bash shell script flags?
You can pass -v and -x option to #!/bin/sh or #!/bin/bash:
- The -v option displays each command before executing it. This is the equivalent of inserting set -v in the script.
- The -x option displays the result each command. This is the equivalent of inserting set -x in the script.
Above flags are useful for debugging shell problems:
#!/bin/sh -x FILE="/etc/resolv.conf" echo "This is a test" [ ! -f $FILE ] || echo "File $FILE does not exist"
You can run them from command prompt itself:
sh -x /path/to/script bash -xv /path/to/script sh -nv /path/to/script