Download List

项目描述

インタラクティブシェル。OSX, cygwin, Linux, FreeBSDで動きます。 ガベージコレクションがついていて、簡易なオブジェクト指向ができます。perlやrubyのようなテキスト処理を行なう内部コマンドを装備しています。全ての内部コマンドにはサンプル付きのヘルプがついてきます。補完は自身によって記述されていて、IDEのようにxyzshの文法に基づいて補完されます。migemoによる日本語ファイル名の補完もあります。

An interactive shell script language on OSX, cygwin, Linux, FreeBSD. This features simple object oriented scripting with garbage collection, text processing like perl or ruby and containes manual for all inner commands with their samples. Offcourse you can type commands with completion which is based on xyzsh grammer like IDE and is defined by itself.

サンプル(script samples)

> ls -F
docs/ main.c samples/ sub.c
    
> ls | each ( | chomp | -d && | print )
docs
samples

> ls -F | grep -v /
main.c sub.c

> ls | each ( ! | chomp | -d && | print )
main.c sub.c

> ls | each ( | printf "-+- %s -+-"\n ) | join " "
-+- docs -+- -+- main -+- -+- samples -+- -+- sub.c -+-

> ls | each ( | scan . | join " " )
d o c s
m a i n . c
s a m p l e s
s u b . c

> cat data
Gorou Yamanaka
Rei Tanaka
Yumiko Shiratori

> cat data | each ( | =~ Yamanaka && | print )
Gorou Yamanaka

> cat data | lines 0 1
Gorou Yamanaka
Rei Tanaka
    
> cat data | each ( | split | lines 1 0 | join )
Yamanaka Gorou
Tanaka Rei
Shiratori Yumiko
    
> vim student.xyzsh
class Student ( 
    | var first_name second_name age country
    
    def show (
        var first_name second_name age country | printf "name: %s %s¥nage: %s¥ncountry: %s¥n"
    )
)
    
object student
student::run ( print "Yamanaka Gorou 23 Japan" | split | Student )
    
> load student.xyzsh
> student::show
name: Yamanaka Gorou
age: 23
country: Japan

> print 1 | var -local i; ls | scan . | while(| eval "|$i print |>") (|> join ""; ++ i )
A
UT
HOR
SCHA
NGELO
GLICEN
SEMakef
ileMakef
ile.inREA
DMEREADME.
jaUSAGEUSAG
E.jacompleti
on.xyzshconfi
g.hconfig.h.in
config.logconfi
g.statusconfigur
econfigure.inhelp
.xyzshinstall.shli
bxyzsh.1.7.0.dylibl
ibxyzsh.1.dyliblibxy
zsh.dylibmanread_hist
ory.xyzshsrcxyzshxyzsh
.dSYMxyzsh.xyzsh

> ls | lines 0 1 | scan . | each ( | chomp | x 5 | pomch )
AAAAA
UUUUU
TTTTT
HHHHH
OOOOO
RRRRR
SSSSS
CCCCC
HHHHH
AAAAA
NNNNN
GGGGG
EEEEE
LLLLL
OOOOO
GGGGG

系统要求

System requirement is not defined

发布: 2013-06-03 02:37
xyzsh 1.4.3 (1 files 隐藏)

发布版本通知

readlineからeditlineに行編集プログラムを変更。
メニュー選択補完の実装。
右プロンプトの実装。
$(...)の仕様の変更。

など。

变更日志

2013 6月2日 version 1.4.3

1. pとselectorの操作を変更。less(3)みたいにした。

2. コマンドライン引数にバグがあったので修正。

> vim a.xyzsh
ARGV

> sys::xyzsh a.xyzsh A B C
error

3. pとselectorの表示を変更。

4. sudoの補完にバグがあったので修正。

5. scan内部コマンドにバグがあったので修正。

6. ライセンスのためにreadlineからeditlineに使用ライブラリを修正。

7. $(...)の動きを変更。 $$(...)は廃止されて、$(...)で改行区切りで複数の引数として解釈されます。出力をそのまま貼付けたい場合は"$(...)"などとクォートで包むとそうなるようになりました。(bashと似た動き)。

8. block内部コマンドがablockと名前が変わりました。

9. macro関数がcmdline_macro関数と名前が変わりました。

10. シングルクォートとダブルクォートの補完の仕方が変わりました。completion.xyzshでしていましたが、システム側でするようになりました。

11. rprompt内部コマンドを追加。インタラクティブシェルで右プロンプトを使えるようになりました。