While executing shell scripts, how to know which line number it's executing,
bash, shell
Solution
You can set the `PS4` variable to cause `set -x` output to include the line number:
PS4=':${LINENO}+'
set -x
This will put the line number before each line as it executes:
:4+command here
:5+other command
It's important to have some sigil character (such as a `+` in my examples) after your variable expansions in `PS4`, because that last character is repeated to show nesting depth. That is, if you call a function, and that function invokes a command, the output from `set -x` will report it like so:
:3+++command run within a function called from a function
:8++command run within a function
:19+line after the function was called
If multiple files are involved in running your script, you might want to include the `BASH_SOURCE` variable as opposed to only `LINENO` (assuming this really is a bash script, as opposed to `/bin/sh` -- be sure your script starts with `#!/bin/bash`!):
PS4=':${BASH_SOURCE}:${LINENO}+'
set -x
Problem
While executing shell scripts, how to know which line number it's executing, do have write a wrapper , where i can execute a shell scripts from a shell scripts and to know which line number it's executing.