Skip to content
Joachim Ansorg edited this page Nov 12, 2021 · 2 revisions

$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" ].

Related resources:

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

ShellCheck

Each individual ShellCheck warning has its own wiki page like SC1000. Use GitHub Wiki's "Pages" feature above to find a specific one, or see Checks.

Clone this wiki locally