docs(readme): replace process substitution with pipe syntax in install commands
- swap `sudo bash <(curl …)` for `curl … | sudo bash -s -- setup` to fix `/dev/fd/63` errors under sudo - add callout explaining why process substitution fails with `sudo bash` - update one-shot command to `curl … | bash` and clarify auto-elevation behavior - fix version-reporting note to reflect pipe mode instead of process substitution
This commit is contained in:
@@ -5,15 +5,17 @@ Linux multi-tool — a Bash menu and CLI for installing common server apps and r
|
||||
## Quick install
|
||||
|
||||
```bash
|
||||
sudo bash <(curl -fsSL https://git.hyko.cx/hykocx/lxs/raw/branch/main/lxs.sh) setup
|
||||
curl -fsSL https://git.hyko.cx/hykocx/lxs/raw/branch/main/lxs.sh | sudo bash -s -- setup
|
||||
```
|
||||
|
||||
This downloads the repo tarball, installs every file to `/usr/local/share/lxs/`, and creates the symlink `/usr/local/bin/lxs`. After install, sub-scripts run from disk — no network calls per command.
|
||||
|
||||
Or run once without installing:
|
||||
> Avoid `sudo bash <(curl …)` — process substitution opens `/dev/fd/63` in your shell, which the root `bash` spawned by `sudo` cannot read (`bash: /dev/fd/63: No such file or directory`). Pipe through `sudo bash -s --` instead.
|
||||
|
||||
Or run once without installing (no `sudo` needed for the entrypoint — sub-scripts auto-elevate when they need root):
|
||||
|
||||
```bash
|
||||
bash <(curl -fsSL https://git.hyko.cx/hykocx/lxs/raw/branch/main/lxs.sh)
|
||||
curl -fsSL https://git.hyko.cx/hykocx/lxs/raw/branch/main/lxs.sh | bash
|
||||
```
|
||||
|
||||
When a new version is published in this repo, the interactive menu shows a *"Nouvelle version disponible"* banner; run `lxs update` to pull all updated files.
|
||||
@@ -73,7 +75,7 @@ After `lxs setup`, the full tree lives in `/usr/local/share/lxs/` and sub-script
|
||||
|
||||
### Releasing a new version
|
||||
|
||||
Bump only the [VERSION](VERSION) file — `lxs.sh` reads it at startup. Installed clients also fetch this file (cached 24 h in `~/.cache/lxs/`) to detect updates. In one-shot mode (`bash <(curl …lxs.sh)`) the file isn't readable from the process substitution, so `lxs version` reports `dev`.
|
||||
Bump only the [VERSION](VERSION) file — `lxs.sh` reads it at startup. Installed clients also fetch this file (cached 24 h in `~/.cache/lxs/`) to detect updates. In one-shot mode (`curl … | bash`) the file isn't on disk next to the script, so `lxs version` reports `dev`.
|
||||
|
||||
## Requirements
|
||||
|
||||
|
||||
Reference in New Issue
Block a user