feat(shell): job-aware kill, disown, jobs/set flags, fallback REPL history
- Document interactive shell vs /bin/sh in bare-os-shell man, handbook §9, kill(1), and shell-completion guide - Resolve kill %n and %% to synthetic PIDs via shellBackgroundJobs - Add disown builtin; jobs -p (pgid-only) and -l (pid column); set -o/+o to print errexit/nounset/pipefail/noglob - Expand completion-engine fallback flags for common utilities - Persist lines to /.bare/repl_history_<USER> when BARE_OS_REPL_HISTORY=1 and Fish REPL is off (repl-session + cli-readline) - Tests: kill job specs, set -o output, jobs -p
This commit is contained in:
@@ -84,7 +84,7 @@ Full operations, environment variables, and troubleshooting: [Handbook — Chapt
|
||||
### What you get
|
||||
|
||||
- **Two-drive model** — read-only **system** image + writable **personal** namespace; VFS routes **`$HOME`** and **`/.bare/`** to the personal drive.
|
||||
- **Tier-1 `/bin`** — **150** POSIX-oriented utilities (authoritative list: **`COREUTILS_COMMANDS`** in [`packages/bare-os-coreutils/lib/commands.mjs`](packages/bare-os-coreutils/lib/commands.mjs); **`verify-man-coverage`** in **`pretest`** keeps **`man.json`** in sync), line shell with pipelines and redirects, **`sed`**/**`awk`**, **`man`** backed by merged JSON handbook + coreutils pages.
|
||||
- **Tier-1 `/bin`** — **153** POSIX-oriented utilities (authoritative list: **`COREUTILS_COMMANDS`** in [`packages/bare-os-coreutils/lib/commands.mjs`](packages/bare-os-coreutils/lib/commands.mjs); **`verify-man-coverage`** in **`pretest`** keeps **`man.json`** in sync), line shell with pipelines and redirects, **`sed`**/**`awk`**, **`man`** backed by merged JSON handbook + coreutils pages.
|
||||
- **Identity** — Ed25519 account on the personal drive, guest vs unlocked session, encrypted vault snapshot (`savevault` / `logout --save`).
|
||||
- **Boot plumbing** — initd/cron **themes**, synthetic **`/proc`** / **`/run`** / **`/sys`**, optional **`ctx.bare`** bundles from **`/lib/bare`** (Holepunch catalog workflow at repo root).
|
||||
- **SSH in the booter** — Initd unit **`bare-openssh`** runs an SSH-2 server (**`bare-ssh2`**, vendored in [`packages/bare-os-openssh`](packages/bare-os-openssh)) bound to **`127.0.0.1`** by default; **`/bin/sshd`** delegates to **`ctx.bareOsRunSshdCli`**. Host keys live on the **personal** drive under **`~/.config/bare-os/ssh/host/`** (see **`man sshd`** / **`sshd_config`**). Set **`BARE_OS_SSH_BIND_ALL=1`** on the host to widen **`ListenAddress`** when **`sshd_config`** still says **`127.0.0.1`**; use **`BARE_OS_SSH_LISTEN_PORT`** to override the listen port (including **`0`** for an ephemeral port in tests).
|
||||
|
||||
Reference in New Issue
Block a user