a-Shell

a-Shell


Local Unix terminal (with ssh)


Free

1.14.0for iPhone, iPad and more
9.1
342 Ratings
Nicolas Holzschuch
Developer
1.6 GB
Size
Apr 19, 2024
Update Date
#28
in Developer Tools
17+
Age Rating
Age Rating
4+
Apps in this category do not contain restricted content.
9+
Apps in this category may contain mild or occasional cartoon, fantasy or real-life violence, as well as occasional or mild adult, sexually suggestive or horrifying content and may not be suitable for children under 9 years of age.
12+
Apps in this category may contain occasional mild indecent language, frequent or intense cartoon or real-life violence, minor or occasional adult or sexually suggestive material, and simulated gambling, and may be for children under 12 years of age.
17+
You must be at least 17 years old to access this App.
Apps in this category may contain frequent and intense offensive language; Frequent and intense cartoon, fantasy or realistic violence: frequent and intense adult, scary and sexually suggestive subjects: as well as sexual content, nudity, tobacco, alcohol and drugs, may not be suitable for children under 17 years of age.
a-Shell Screenshots
a-Shell postera-Shell postera-Shell postera-Shell postera-Shell postera-Shell poster
a-Shell postera-Shell postera-Shell postera-Shell postera-Shell poster

About a-Shell

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. 
Most commands are compiled for iOS native Arm64 format, making them fast and well integrated with iOS underlying BSD Unix.

a-Shell includes Python, Lua, Perl, JavaScript, C, C++ for programming and TeX (texlive 2023, with Tikz and 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.
Show More

What's New in the Latest Version 1.14.0

Last updated on Apr 19, 2024
Old Versions
- moved to texlive-2024
- changed the texlive installation process to something more reliable
- fixed an issue in Perl that prevented tlmgr from downloading more than 300 packages
- changed the C SDK generation process for faster start-up
- fixed an issue that prevented running more than 1278 commands in-extension, or more than 852 commands in-app.
- fixed an issue where the app would sometimes run through command history instead of scrolling vertically
- fixed an issue with cursor position in editors in llines with spaces or tabs
- added option "--reset" to jsc
Show More
Version History
1.14.0
Apr 19, 2024
- moved to texlive-2024
- changed the texlive installation process to something more reliable
- fixed an issue in Perl that prevented tlmgr from downloading more than 300 packages
- changed the C SDK generation process for faster start-up
- fixed an issue that prevented running more than 1278 commands in-extension, or more than 852 commands in-app.
- fixed an issue where the app would sometimes run through command history instead of scrolling vertically
- fixed an issue with cursor position in editors in llines with spaces or tabs
- added option "--reset" to jsc
1.13.0
Mar 12, 2024
Although a-Shell is designed first to allow you to run commands locally on your phone, it also has the "ssh" command to let you connect to other computers.
Version 1.13 focuses on improvements for ssh:
- added the "ssh -J" option to connect through jump hosts.
- added "ssh-copy-id" command.
- added "ssh-agent" and "ssh-add" commands.
- upgraded the version of OpenSSL (1.1.1w) and libssh2 (1.11.0) for compatibility with other platforms.

Version 1.1.3.0 also adds the "isForeground" command, to run specific actions only if the app is in the foreground, and fixes a bug with Jupyter commands.
1.12.9
Feb 2, 2024
Everything from version 1.12.6:
- the way a-Shell uses the window is now a user-defined Settings (great with StageManager)
- multiple bug fixes (dash, pico, env...)
- 3 new editors: Ace, Codemirror, Monaco (available with "pkg").
Plus bug fixes in the JavaScript interpreters (jsc and jsi), text selection is much improved, tlmgr, webAssembly execution and a cause of crash in subprocess removed.
1.12.8
Jan 30, 2024
Everything from version 1.12.6:
- the way a-Shell uses the window is now a user-defined Settings (great with StageManager)
- multiple bug fixes (dash, pico, env...)
- 3 new editors: Ace, Codemirror, Monaco (available with "pkg").
Plus bug fixes in the JavaScript interpreters (jsc and jsi), text selection is much improved, and a cause of crash in subprocess removed.
1.12.7
Jan 25, 2024
Everything from version 1.12.6:
- the way a-Shell uses the window is now a user-defined Settings (great with StageManager)
- multiple bug fixes (dash, pico, env...)
- 3 new editors: Ace, Codemirror, Monaco (available with "pkg").
Plus fixing a bug in "jsc" and "jsi".
1.12.6
Jan 18, 2024
- the way a-Shell uses the window is now a user-defined Settings (great with StageManager)
- multiple bug fixes (dash, pico, env...)
- 3 new editors: Ace, Codemirror, Monaco (available with "pkg").
1.12.5
Dec 21, 2023
- several fixes so the app also works on Arm Macs
- multiple bug fixes to the internalbrowser
- added IPv6 to ifconfig
- the webAssembly engine will restart itself after an error
- improved JavaScript engine.
1.12.4
Dec 6, 2023
- fixes an issue with yt-dlp
- improved the internalbrowser command (keyboard control comes back, better explanation (using Tips) on iOS 17)
- new command: markdown-it.js, for Markdown-to-HTML conversion.
- JavaScript files can be commands if they start with "#! jsc"
- expand the screen space used by a-Shell, especially at the bottom.
- fixed an issue with ctags/readtags.
- bug fixes: fixed an issue with font encoding in Python, fixed an issue in jsc.writeFile(), fixed an issue with WebAssembly execution and ^D.
1.12.3
Dec 5, 2023
- improved the internalbrowser command (keyboard control comes back, better explanation (using Tips) on iOS 17)
- new command: markdown-it.js, for Markdown-to-HTML conversion.
- JavaScript files can be commands if they start with "#! jsc"
- expand the screen space used by a-Shell, especially at the bottom.
- fixed an issue with ctags/readtags.
- bug fixes: fixed an issue with font encoding in Python, fixed an issue in jsc.writeFile(), fixed an issue with WebAssembly execution and ^D.
1.12.2
Oct 21, 2023
- updated Python modules
- updated Curl to version 8.1.2
- new "internal" web browser for when you need to test a web server
- "Put file" action in Shortcuts can now handle multiple files
- lg2 reports success or failure for pull and merge actions
- fixed an issue with "sh -c" and WebAssembly commands
1.12.1
May 24, 2023
- Everything from 1.12.0: new Python modules: OpenCV, Astropy, TeXLive 2023, with pdfTeX, LuaTeX, XeTeX, upTeX (and their LaTeX versions too)
- Plus more Python modules: GeoPandas, PyProj, Fiona, Rasterio... and the ability to pip install Sunpy.
- a lot of bug fixes, especially memory leaks.
1.12.0
May 22, 2023
- new Python modules: OpenCV, Astropy, GeoPandas...
- TeXLive 2023, with pdfTeX, LuaTeX, XeTeX, upTeX (and the LaTeX versions too)
- a lot of bug fixes, especially memory leaks.
1.11.3
Apr 19, 2023
- fixes a bug with Shortcuts introduced in version 1.11.1
- fixes a bug where a-Shell is unresponsive the first time you open the app
- added helper functions for jsc (both inside the app and for in-extension Shortcuts)
1.11.2
Apr 18, 2023
- fixed the issue with StageManager (finally!)
- customizable keyboard, toolbar and topbar color.
- new URL schemes, "ashellplus://" and "ashellpro://" in addition to "ashell://"
1.11.1
Apr 3, 2023
- fixed an issue with Shortcuts and iOS 16.4
- fixed an issue introduced by version 1.11.0 with Vim and WebAssembly commands (including ctags)
- fixed an issue with ffmpeg and "pipe:" input/output
1.11.0
Mar 25, 2023
- activates ligatures in fonts that have them, like Fira Code (can be turned off with "config -l")
- you can now pipe WebAssembly commands into each other
- lg2 config now stores key position using "~", so it remains valid when the app is updated
- for files that begin with "#! command", the command can now be a webAssembly command (so "#! gawk" works).
- new commands: id, stty
- updated awk to version 20200816 (the same as OSX)
- fixed lots of issues with dash, pipes and awk.
1.10.7
Feb 19, 2023
- multiple bug fixes, including three that were introduced in version 1.10.4.
1.10.6
Feb 10, 2023
- multiple bug fixes, including two introduced by version 1.10.4.
- everything that was already there in 1.10.4:
- ffmpeg updated to version 5.1.2
- new commands: "call" and "text" to start a phone call or a text message.
- improved autocomplete: includes suggestions from history, uses most frequently used directories for "cd"
- new command: "z", will change directories using fuzzy matching and most frequently used directories. "z D/vi" will change to "~/Documents/.vim". It also works with auto-complete.
- \u in prompt definition will also take the environment variable $USERNAME.
1.10.5
Feb 9, 2023
- multiple bug fixes, including one from 1.10.4.
- everything that was already there in 1.10.4:
- ffmpeg updated to version 5.1.2
- new commands: "call" and "text" to start a phone call or a text message.
- improved autocomplete: includes suggestions from history, uses most frequently used directories for "cd"
- new command: "z", will change directories using fuzzy matching and most frequently used directories. "z D/vi" will change to "~/Documents/.vim". It also works with auto-complete.
- \u in prompt definition will also take the environment variable $USERNAME.
- redirects work inside dash (exec 3>&1)
1.10.4
Feb 7, 2023
- multiple bug fixes
- ffmpeg updated to version 5.1.2
- new commands: "call" and "text" to start a phone call or a text message.
- improved autocomplete: includes suggestions from history, uses most frequently used directories for "cd"
- new command: "z", will change directories using fuzzy matching and most frequently used directories. "z D/vi" will change to "~/Documents/.vim". It also works with auto-complete.
- \u in prompt definition will also take the environment variable $USERNAME.
- redirects work inside dash (exec 3>&1)
1.10.3
Jan 20, 2023
- customizable toolbar: type "config -t" and follow instructions
- full emoji support
- autorepeat for external keyboards, compatible with accented characters
- new commands: sha1 and sha256
- dash can be kept running across sessions
1.10.2
Jan 14, 2023
- customizable toolbar: type "config -t" and follow instructions
- full emoji support
- autorepeat for external keyboards
- new commands: sha1 and sha256
- Multiple bug fixes, including password entering in lg2, password entering in ssh, preventing changes of font size with StageManager...
- dash can be kept running across sessions
1.10.1
Dec 13, 2022
- Everything from 1.10.0, plus fixing a bug in the interactive version of dash:
- new toolbar option for iPads, using iOS styling (you can switch to it using Settings).
- updated Python to version 3.11, Vim to version 8.2, Lua to version 5.4.4
- a-Shell (including Vim) now works with Scribble (character recognition using Apple pencil)
- options to customize cursor shape (config -k)
- new command: multimarkdown, to convert Markdown files to other formats (including TeX)
- keyboard commands to change the font size: command +, command - (and control + / control - too)
- new option (in Settings) to not restore windows content when the app restarts.
- many bug fixes: long scrolling does not reset to the beginning randomly, font size remains the same when going to the background, the app keeps keyboard focus, Vim plugins can execute dash commands...
1.10.0
Dec 10, 2022
- new toolbar option for iPads, using iOS styling (you can switch to it using Settings).
- updated Python to version 3.11, Vim to version 8.2
- Vim works with Scribble (character recognition using Apple pencil)
- options to customize cursor shape (config -k)
- new command: multimarkdown, to convert Markdown files to other formats (including TeX)
- keyboard commands to change the font size: command +, command - (and control + / control - too)
- new option (in Settings) to not restore windows content when the app restarts.
- many bug fixes: long scrolling does not reset to the beginning randomly, font size remains the same when going to the background, the app keeps keyboard focus, Vim plugins can execute dash commands...
1.9.9
Oct 7, 2022
Fixes the "crash immediately after the first command" issue experienced on iOS 14 and 15.

a-Shell FAQ

a-Shell is available in regions other than the following restricted countries:
Russia
a-Shell supports English, French, German, Japanese, Korean, Simplified Chinese, Spanish
Click here to learn how to download a-Shell in restricted country or region.
Check the following list to see the minimum requirements of a-Shell.
iPhone
Requires iOS 14.0 or later.
iPad
Requires iPadOS 14.0 or later.
iPod touch
Requires iOS 14.0 or later.

a-Shell Alternative

You May Also Like

Get more from Nicolas Holzschuch