/** Shared helpers for drive-resident /bin scripts (prepended before each command). */ function bareStdin(ctx) { return typeof ctx.shellStdin === 'string' ? ctx.shellStdin : '' } async function evalTest(ctx, args) { if (!args.length) return false if (args[0] === '!') { const inner = await evalTest(ctx, args.slice(1)) return !inner } if (args.length === 3) { const [a, op, b] = args if (op === '=') return a === b if (op === '!=') return a !== b return false } if (args.length === 2) { const op = args[0] const p = args[1] const st = await ctx.vfs.stat(p) if (op === '-e' || op === '-a') return st != null if (op === '-f') return st != null && st.type === 'file' if (op === '-d') return st != null && st.type === 'directory' if (op === '-z') return p.length === 0 if (op === '-n') return p.length > 0 return false } if (args.length === 1) return args[0] !== '' return false } async function run(ctx, argv) { ctx.exitCode = (await evalTest(ctx, argv.slice(1))) ? 0 : 1 }