Running shell commands in Jupyter with the ! prefix: capture output, avoid injection, and know the limits
Use the ! prefix to run shell commands from Jupyter, capture output into Python variables, and avoid common pitfalls like injection and environment isolation.