Local iOS terminal, with Python, Lua, Perl, C, C++, TeX (texlive 2021) and all Unix utilities.
Perfect for programming locally on iOS.

a-Shell is a complete local terminal emulator, allowing to run most Unix commands on you iOS device. You can transfer files using scp and curl, edit them with vim and ed, process them using grep, awk and sed. You can work with git repositories using lg2.

a-Shell includes Python, Lua, Perl, JavaScript, C, C++ for programming and TeX (texlive 2021, including LuaTeX) for text processing.

There are also multiple network utilities: nslookup, ping, whois, ifconfig... Type help for help, help -l to get the full list of commands.

a-Shell can be controlled from Shortcuts: run commands in order, process files in a-Shell, get the results as text or files, transfer files to other apps...

a-shell uses iOS 13+ “multiple windows” ability, so you can run multiple shells at the same time, with different commands, in different directories. You can edit a file in one window with vim and process it in the other with python.

Compile your C or C++ programs to webAssembly using clang or clang++, and execute the resulting binary. A complete webAssembly SDK is included (WASI-libc).

a-Shell is the complete version. If you need a smaller app, and you don't need a C compiler, a TeX engine, or numpy and matplotlib, there is a-Shell mini.

What’s New

Version 1.8.2

- avoid closing stdout when executing WebAssembly files
- fixed the location of texmf-local
- updated to Python3.9.8, numpy 1.22, matplotlib 3.4.0.
- fixed several issues with Python modules using Cython (pandas, numpy, ...)

Ratings and Reviews

4.6 out of 5
191 Ratings

191 Ratings

Austin10022153 ,

Surprised Apple even signed, glad though. Ty

can we lowkey emulate inside this another copy of the app or the fs unmounted from local to cloud in order to allow for chmod , chown, etc, oh and our own root file system just to emulate Linux even if it is agentless . Right now it looks like Apple wants to give us rw , r, r. Like why bother lol. At least all the python executables are integrating visually but DONT touch it or DARWIN will scream. Smh lol. Apple Apple Apple...⌫☮︎︎🔝☠️☠️☠️📲🕹🔑🗝🛒🎈📦📦📦🔐🔓🔓🔗🖇📂🆔⚛️♨️♨️♨️7️⃣7️⃣7️⃣⏺▶️⏏️🔂🔀↩️♾🔝🔚🏴‍☠️🏴‍☠️🏴‍☠️

RSnake ,

Pretty cool, but missing some features

It would be nice to be able to have a bashrc or something that allows you to control prompts, and a ps and kill functionality and screen, etc…. for batch jobs. But the really odd thing is hitting a button (other than space and enter keys for some reason) won’t repeat the character - that’s super annoying in vim for instance, because it means you have to do some funky things just to move the cursor around at any sort of speed. [EDIT: The developer said there’s a setting to use the cap’s lock as an escape key that if you disable, allows you to get this feature. For those who don’t know you can use control-[ to get an escape char too.] But overall really cool/useful. Even with a lack of wget (not a fan of curl), you can do pip install wget then python -m wget <site> and poof.

Developer Response ,

If you activate "caps-lock as escape" in the App settings, you also get auto-repeat for keys. It's pretty useful for Vim, I agree, but incompatible with multi-char input.

Coffeenobagel ,

Great app but hamstrung by ios?

Thanks for creating Carnets and a-shell. They’ve both been essential for iOS programming. However, it seems that every app is restricted to accessing and modifying files that are only within their own respective directories? I can’t seem to cd my way into another folder that resides in the Carnets folder and vice versa (because Carnets doesn’t have its own terminal, for example) And secondly, there seems to be a problem when trying to install sklearn in a-shell. It keeps throwing up the error “setuptools not found” but when I pip install setuptools, it says that “requirement already fulfilled” and I have been able to use setuptools when making packages before so it seems that it is there but I can’t install sklearn? I’m not sure what can be done. Apologies if I’m doing something wrong. Thanks.

Developer Response ,

Use "pickFolder" to select a working directory in another app.

App Privacy

The developer, Nicolas Holzschuch, indicated that the app’s privacy practices may include handling of data as described below. For more information, see the developer’s privacy policy.

Data Not Collected

The developer does not collect any data from this app.

Privacy practices may vary, for example, based on the features you use or your age. Learn More


  • Family Sharing

    With Family Sharing set up, up to six family members can use this app.

More By This Developer

Developer Tools
Developer Tools
Developer Tools

You Might Also Like

Developer Tools
Developer Tools
Developer Tools
Developer Tools
Developer Tools
Developer Tools