I saw a client doing $bash -x
command to see if the file is executable (or ksh -x
command, etc.) like the -x
in the if
statement in the shell script.
My question is: What does $bash -x
command do?
My interpretation was to start a command in a new bash shell within the current shell, inheriting the same environment variables and executed by the same user.
The funny thing is I can do $ls
but not $bash -x ls
, which give:
(under AIX 6) /usr/bin/ls: /usr/bin/ls: cannot execute binary file
It is a mystery for me why the error is - guessing it is due to a privilege which means my assumption above is not correct.
Also, I believe $bash ls
and $bash -x ls
is the same thing (-x
for "execute")?
Any comments are greatly appreciated.
Cheers!
Bash or Shell is a command line tool that is used in open science to efficiently manipulate files and directories.
CMD is the command line for Microsoft Windows operating system, with command-based features. Powershell is a task-based command-line interface, specifically designed for system admins and is based on the . Net Framework. Bash is a command-line and scripting language for most Unix/Linux-based operating systems.
The -x
option starts a BASH shell in tracing mode. You can see all the details of how your command/script is processed. It's a good way to find some bugs if your script does not do what you would expect to
And, just as Alex said in a comment, to run a command in BASH, you have to use -c
option like bash -x -c ls
.
See man bash
or the online manual, specifically the parts on invoking Bash and the set
builtin command for more information:
All of the single-character options used with the
set
builtin (see The Set Builtin) can be used as options when the shell is invoked.
-x
Print a trace of simple commands,
for
commands,case
commands,select
commands, and arithmeticfor
commands and their arguments or associated word lists after they are expanded and before they are executed. The value of thePS4
variable is expanded and the resultant value is printed before the command and its expanded arguments.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With