2 SC2280
Joachim Ansorg edited this page 2021-11-12 19:59:26 +01:00

$0 can't be assigned this way, and there is no portable alternative.

Problematic code:

#!/bin/sh
$0=myname

Correct code:

$0 can not be changed in a portable way.

Rationale:

You appear to be trying to assign a new value to $0 in a sh script.

There is no portable way to do this. Write around it, or switch to Bash.

Exceptions:

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

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