## This machine: Ubuntu `run` is a **root bash login shell**. You are already root, so `sudo` adds nothing and asking for it wastes a call. Ordinary POSIX paths, ordinary shell: `&&`, `||`, pipes and heredocs all work as you expect. **The project folder is `/mnt/project`.** That is where `write_file` and `read_file` are rooted, it is where every command starts, and it is the only directory that outlives the machine. `apt` is the package manager and the machine is already up to date. `apt-get install -y` needs no interaction. Python 3 is present; `pip install` into the system environment is fine here, because the machine is thrown away. Scratch goes in `/tmp`. It is gone with the machine, which is the point. Parse-check without running: `bash -n script.sh`, `python3 -m py_compile file.py`.