Local iOS terminal, with Python, Lua, Perl, C, C++, TeX and all Unix utilities. 
Perfect for programming 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.

a-Shell includes Python, Lua, Perl, JavaScript, C, C++ for programming and TeX (texlive 2019, 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.7.2

- webAssembly files are executed even if they don't have the ".wasm" suffix.
- autocomplete works with "~/", environment variables and shortcuts.
- new language interpreter: perl (comes with standard Perl packages).
- you can install more Perl packages with cpan, as long as they are pure Perl.
- new command: make (BSD make), for easier program compilation.
- new interactive JavaScript interpreter: jsi.
- new Python modules: regex, word_cloud, nltk, pyFFTW3.
- new option in Shortcuts: keep going even if a command returns an error code.
- new command: xxd for Hexadecimal dump.
- better management of "#!" in files. It now works with all commands and arguments.
- working directory and environment variables are preserved for each command and sub-command.
- bug fixes for lua, vim and ipython.

Ratings and Reviews

4.6 out of 5
155 Ratings

155 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.

sstevi ,

Very cool, but a bit limited?

This is a very VERY cool app. I love the fact that you are able to actually access real phone files and change them, unlike some fake ones I’ve seen out there. It has many of all the Linux commands as well, which is awesome. One thing I am confused is why it doesn’t have the sudo command, and why I “need permission” to access some files. Overall, as a new Linux user, I find this to be VERY cool. If anyone can help with the permission issue, that would be much appreciated.

Developer Response ,

Hi, the permission issue comes from iOS. Each app can only access its own files. It prevents rogue apps from deleting all your files. You can grant permission using pickFolder or the Files app, but it's under your control. I can explain more on Twitter: @a_Shell_iOS.

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

You May Also Like