Mosh のシェルモード現状

シェルモードの現状。書かないと忘れそう。
/usr/bin などをサーチして全て def-command しているのが重い。&undefined の場合に def-command するのはちょっと危険だしどうしよう。

# 内部コマンド cd
mosh:/Users/taro>(cd /tmp)
#<unspecified>

# 外部コマンド ls ; あらかじめ (def-command ls) してある
# オプション付きは (ls -la) のように使う
mosh:/private/tmp>ls
fasl-test0.dat
fasl-test1.dat
fasl-test2.dat
fasl-test4.dat
hoge.log
#f

# 外部コマンド $ls ; あらかじめ ($def-command ls) してある
# $ がつくものは出力を文字列でうけとりさらに、改行毎に spilt したリスト
mosh:/private/tmp>$ls
("fasl-test0.dat" "fasl-test1.dat" "fasl-test2.dat" "fasl-test4.dat" "hoge.log")

# パイプ
mosh:/private/tmp>(-> ls (grep hoge))
#<unspecified>
hoge.log

# $パイプ パイプの終端で文字列化
mosh:/private/tmp>($-> ls (grep hoge))

# エイリアス
mosh:/Users/taro/repos-mosh/trunk>(def-alias mcm (make clean) make)
#<unspecified>

# 外部プロセス起動
mosh:/Users/taro/repos-mosh/trunk>(spawn "less" '("main.cpp"))

# def-command であらかじめ登録しておけば、楽に起動できる
mosh:/Users/taro/repos-mosh/trunk>(def-command ls)
mosh:/Users/taro/repos-mosh/trunk>(less main.cpp)

# python
mosh:/Users/taro/repos-mosh/trunk>python
Python 2.5.1 (r251:54863, Feb  4 2008, 21:48:13) 
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

未対応

  • stderr
  • リダイレクト
  • 非同期起動

など。