Created SC2280 (markdown)

Vidar Holen
2020-12-30 20:13:53 -08:00
parent 8acff16a40
commit 8318e0ea2f

26
SC2280.md Normal file

@@ -0,0 +1,26 @@
## $0 can't be assigned this way, and there is no portable alternative.
### Problematic code:
```sh
#!/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!