fbpx

一個 iOS 終端機,支援多個視窗

這個專案的目標是在 iOS 上提供一個簡單的類似 Unix 的終端機。它使用 ios_system 來解釋命令,並包括 ios_system 生態系統的所有命令(nslookup、whois、python3、lua、pdflatex、lualatex……)。

該專案使用 iPadOS 13 的能力來建立和管理多個視窗。每個視窗都有自己的上下文、外觀、命令歷史和當前目錄。 newWindow 開啟一個新視窗,exit 關閉當前視窗。

如需幫助,在命令列中輸入help。help -l 列出了所有可用的命令。help -l | grep命令會告訴你,你喜歡的命令是否已經安裝。

你可以用 config 來改變 a-Shell 的外觀。它讓你改變字型、字型大小、背景顏色、文字顏色和游標顏色。config -p 將使當前視窗的設定永久化,並用於所有未來的視窗。

當開啟一個新的視窗時,如果檔案 .profile 存在,a-Shell 會執行它。你可以利用這個機制進一步客製化,例如,有自定義環境變數或清理臨時檔案。

A-shell 現在可以在 AppStore 上下載使用

主目錄

在iOS中,你不能在~目錄下寫東西,只能在~/Documents/、~/Library/和~/tmp中寫。大多數 Unix 程式假定配置檔案在$HOME中。

所以 a-Shell 改變了幾個環境變數,使它們指向~/Documents。輸入env來檢視它們。

大多數配置檔案(Python包、TeX檔案、Clang SDK…)都在~/Library中。

沙盒和書籤

a-Shell 使用 iOS 13 的能力來訪問其他 Apps 沙盒中的目錄。輸入pickFolder來訪問另一個App中的目錄。一旦你選擇了一個目錄,你可以在這裡做任何你想做的事情,所以要小心。

你用 pickFolder 訪問的所有目錄都被新增了書籤,所以你以後可以在不使用 pickFolder 的情況下返回它們。你也可以用 bookmark 來標記目前目錄。showmarks 將列出所有現有的書籤,jump mark將改變目前目錄到這個特定的書籤,renamemark將讓你改變一個特定書籤的名字,deletemark將刪除一個書籤。

設定中的一個使用者可配置的選項讓你使用s、g、l、r和d這些命令來代替或同樣使用。

如果你迷路了,cd將總是把你帶回~/Documents/

快捷方式 ( ShortCuts )

a-Shell 與 Apple Shortcuts 相容,讓使用者完全控制 Shell你可以使用 a-Shell 命令編寫複雜的Shortcuts來下載、處理和釋放檔案。有三個快捷方式。

  • Execute Command,它接受一個命令列表,並按順序執行它們。輸入也可以是一個檔案或一個文字節點,在這種情況下,節點內的命令被執行。
  • Put File 和 Get File 用於向 A-Shell 傳輸檔案

快捷方式可以在 “擴充套件中 “或 “應用中 “執行。”在擴充套件中 “意味著快捷方式在一個輕量級的應用程式中執行,沒有圖形用戶界面。它適用於不需要配置檔案或系統庫的輕型命令(mkdir、nslookup、whois、touch、cat、echo…)。”In App “打開主程式來執行快捷方式。它可以訪問所有的命令,但會花費更長的時間。一旦一個快捷方式打開了App,你可以通過呼叫 open shortcuts:// 的命令返回到快捷方式的應用程式。預設的行為是根據命令的內容,儘可能地嘗試在 “擴充套件 “中執行命令。你可以強制某個特定的快捷方式在 “應用程式中 “或 “擴充套件中 “執行,但要注意的是,這並不總是有效。

這兩種快捷方式都預設執行在同一個特定目錄下,即$SHORTCUTS。當然,由於你可以在快捷方式中執行cd和跳轉命令,你幾乎可以去任何地方。

程式設計/新增更多命令

a-Shell 已經安裝了幾種程式語言。Python, Lua, JS, C, C++ 和 TeX。

對於 C 和 C++,你可以用 clang program.c 編譯你的程式,它會產生一個 webAssembly 檔案。然後你可以用 wasm a.out執行它。你還可以把多個對象檔案連線在一起,用 ar 製作一個靜態程式庫,等等。一旦你對你的程式感到滿意,如果你把它移到$PATH中的一個目錄(例如~/Documents/bin),並把它重新命名為program.wasm,如果你在命令列中輸入program,它將被執行。

你也可以使用我們特定的 WASI-sdk 在你的主電腦上交叉編譯程式,並將 WebAssembly 檔案傳輸到你的iPad或iPhone。

這裡有專門針對 a-Shell 的預編譯 WebAssembly 命令:https://github.com/holzschu/a-Shell-commands 這些命令包括zip、unzip、xz、ffmpeg…。你可以通過下載它們並把它們放在$PATH中來安裝在你的iPad上。

我們有 WebAssembly 的侷限性:沒有套接字,沒有分叉,沒有互動式的使用者輸入(用命令|wasm program.wasm從其他命令管道輸入可以正常工作)。

對於Python,你可以用pip install packagename來安裝更多的軟體包,但前提是它們是純Python。C 編譯器還不能產生可以被 Python 使用的動態庫。

TeX檔案預設是不安裝的。輸入任何TeX命令,系統會提示你下載它們。LuaTeX檔案也是如此。

VoiceOver

如果你在設定中啟用了VoiceOver,a-Shell 將與 VoiceOver 一起工作:在你輸入命令時讀取命令,讀取結果,讓你和手指一起閱讀螢幕…

專案網址

支持 Soft & Share

❤️您應該有留意到,我們的網頁並不會出現干擾人的跳出煩人的廣告或是在內容中嵌入廣告,因為我們發現這樣對閱讀網頁的內容體驗真的是不好!

如果您覺得我們提供的內容服務還不錯,歡迎透過對以下產品/服務的購買投資來支持本站的營運走得更遠

如果暫時還不需要以下的付費服務,幫我們把這個網站分享給有需要的朋友,您的小小舉動會對 Soft & Share 有莫大的幫助!感謝您的支持!

🎈如果您點選優惠連結後,還是沒有看到優惠價格,麻煩您將瀏覽器的 cookie 清除 ( 清除 udemy 網站的就可以了 ),然後重新點選優惠連結就可以了

不受 FB 演算法影響,歡迎透過 e-mail 訂閱網站更新

Comments are closed.

Powered by WordPress.com.

Up ↑

%d 位部落客按了讚: