gitmyhub

a-shell

Perl ★ 3.8k updated 9d ago

A terminal for iOS, with multiple windows

A full Unix-style terminal app for iPhone and iPad that lets you run Python, JavaScript, C, and shell commands directly on iOS, with multi-window support and Apple Shortcuts integration.

PerlPythonWebAssemblyLuaJavaScriptCsetup: easycomplexity 2/5

a-Shell is a terminal app for iPhone and iPad that brings a Unix-style command line to iOS. A terminal is the text-based interface that software developers and system administrators use to run commands, manage files, and execute scripts. iOS does not include one by default, so a-Shell fills that gap and is available on the App Store.

The app includes a wide set of built-in commands for working with files and networks, as well as several programming languages: Python, Lua, JavaScript, C, and C++. For C and C++ code, you compile programs directly on your device and they run as WebAssembly, which is a format that can run safely inside a controlled environment. You can also install additional precompiled commands using a package manager called pkg. TeX is available for typesetting documents but is not installed by default and downloads on demand.

One of the app's notable features is support for multiple windows on iPad. Each window maintains its own command history, current directory, and visual appearance. You can change the font, font size, colors, and cursor style independently for each window through a configuration command. A .profile file runs automatically when a new window opens, so you can set up environment variables or run startup tasks the way you would on a desktop machine.

a-Shell integrates with Apple Shortcuts, which lets you automate tasks by stringing together commands. You can write a Shortcut that downloads a file, processes it with Python or a shell script, and saves the result, all without manually opening the app. File access works through iOS's bookmarking system, which lets you pick folders from other apps and then return to them later using named bookmarks.

The project is open source and can be compiled from source, though the full build including all Python libraries takes several hours. VoiceOver support is built in for accessibility.

Where it fits