2 SC2277
Joachim Ansorg edited this page 2021-11-12 19:58:39 +01:00

Use BASH_ARGV0 to assign to $0 in bash (or use [ ] to compare).

Problematic code:

#!/bin/bash
$0=myscriptname

Correct code:

#!/bin/bash
BASH_ARGV0=myscriptname

Rationale:

You appear to be trying to assign a new value to $0 in a Bash script. To do this, instead assign to the special variable BASH_ARGV0.

If you instead wanted to compare the value of $0, use a comparison like [ "$0" = "myname" ].

Exceptions:

None.

  • Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc!