よく使うディレクトリを学習し、主要なシェルから数回のキー入力で移動できる、賢いcdコマンド。
oils-for-unix/oils
Oilsはbash互換シェルのOSHと、PythonやJavaScript風の新しいシェル言語YSHを備え、Pythonで記述してC++に変換されます。
- スター
- 3,400
- フォーク
- 194
- 未解決の Issue
- 610
- 最終コミット
- 4 日前
これは何?
Oilsはbashからの移行先となるシェルです。既存のシェルスクリプトを実行できるOSHと、従来のシェル構文を避けたいPythonやJavaScriptユーザー向けの新しいシェル言語YSHを備えています。
コードベースは短く、変更しやすいPythonで記述されています。独自の変換ツールでC++に変換することで、実行時にPythonへ依存しない、小さく高速な実行ファイルを生成します。
このリポジトリはコントリビューター向けです。READMEにはPython上で直接動作する開発ビルドの作成方法が記載されており、開発に関する議論の場としてwikiとZulipチャンネルも案内されています。エンドユーザーには、このリポジトリをcloneするのではなく、公式のリリースページを利用するよう案内されています。
主な機能
- 01OSHで既存のbash形式のシェルスクリプトを実行
- 02PythonやJavaScriptユーザー向けの新しいシェル言語YSHを提供
- 03変更やプロトタイピングが容易なPythonで記述
- 04C++に変換し、Pythonに依存しない小さな実行ファイルを生成
- 05シェル互換性の検証に使うspecテストスイートを収録
ユースケース
- より一貫性のあるシェルランタイムで従来のbashスクリプトを実行する
- 従来のシェル構文ではなく、Python風の構文でシェル自動化を記述する
- 失敗するspecテストを修正し、シェル互換性の向上に貢献する
クイックスタート
- 1
Wiki の Contributing の手順に従って dev build をビルドする
- 2
対話型の OSH シェルを起動する
bin/osh - 3
OSH でシェルスクリプトを実行する
bin/osh myscript.sh - 4
YSH シェルを起動する
bin/ysh
使う前に知っておきたいこと
- このリポジトリでビルドできるのは Python の dev build であり、リリース版バイナリではありません。エンドユーザーは oils.pub の tarball リリースを使用してください。
- メタデータではライセンスが明確に指定されていません(NOASSERTION)。
トピック
よくある質問
- oils とは?
- Oilsはbash互換シェルのOSHと、PythonやJavaScript風の新しいシェル言語YSHを備え、Pythonで記述してC++に変換されます。 Oilsはbashからの移行先となるシェルです。既存のシェルスクリプトを実行できるOSHと、従来のシェル構文を避けたいPythonやJavaScriptユーザー向けの新しいシェル言語YSHを備えています。
- oils は無料で使えますか?ライセンスは?
- oils は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- oils は今もメンテナンスされていますか?
- 活発にメンテナンス中。oils の最終コミットは 2026年10月18日 です。
- oils は何に使えますか?
- より一貫性のあるシェルランタイムで従来のbashスクリプトを実行する 従来のシェル構文ではなく、Python風の構文でシェル自動化を記述する 失敗するspecテストを修正し、シェル互換性の向上に貢献する
- oils のインストール方法は?
- Wiki の Contributing の手順に従って dev build をビルドする 対話型の OSH シェルを起動する: bin/osh OSH でシェルスクリプトを実行する: bin/osh myscript.sh YSH シェルを起動する: bin/ysh
- oils はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/oils-for-unix/oils
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
各引数をmanページの説明に照合し、シェルコマンドの意味を解説するWebツール兼Pythonライブラリ。
Goアプリケーションへの組み込みに使える、純Go製のECMAScript 5.1 JavaScriptエンジン。
ClangとLLVMを基盤とする対話型C++インタープリター。REPLでC++コードを1行ずつ実行できます。
CPython bindingsを使わずにPythonコードを実行でき、WebAssemblyや組み込みにも対応したRust製Python 3インタプリタ。
標準の型ヒントからCLIアプリを構築できるPythonライブラリ。ヘルプ表示、入力検証、シェル補完を自動で提供します。