SatoxITS続々GShell開発:さて、1000行あればshellぽいものになるかなと思っていたのですが、超えてしまいました。先は遠いかなという感じです。Gshell-by-SatoxITSダウンロード開発:私自身はshellをとてもシンプルにしか使わないのですが、一方でヒストリー機能とリソース使用量の記録は非常に重要だと思っています。それで、どのコマンドをどこで実行してどのくらいのリソース使用だったかというのを記録することにしました。あと、さっきいたあのディレクトリに戻りたいということが多いので、作業ディレクトリのヒストリを作ることにしました。開発:まずディレクトリ移動のヒストリはこんな感じ。開発:コマンドのヒストリはこんな感じです。社長:「あのコマンドを実行したディレクトリに戻りたい」という事が多いので、cdの後の!番号もコマンドのヒストリのものを使えるのが良いように思いますね。開発:私もそう思いました。ディレクトリ移動のヒストリは、コマンドのヒストリから抽出すれば良いのかなと。基盤:どのディレクトリでどのくらいリソースを使う仕事をしたとか、そのディレクトリでのアクティブな滞在時間がわかると良いですね。それも、コマンドのヒストリーのほうから集計すれば良いのかも知れませんが。社長:あと、ヒストリの何番から何番までを再実行したいとか、一つのコマンド列として登録できるようになってると良いですね。開発:ただ、長大なコマンドヒストリを探したり編集したりをラインエディタでやるのはどうかと思います。いう作業はこのgshellをHTTPサーバにして、HTTPクライアントというかブラウザからやればよいのかなと。開発:あとこれは各コマンドの出力も後から読めるようにしたいです。デフォルトで、コマンド単位でsciriptコマンドが動いているみたいな。それを閲覧するのもやはり、ブラウザが適していそうです。社長:リモートにログインした状態でそれをやるには、リモートのgshellサーバに繋がないといけないですが、ローカルな出向元のshellの口から連絡したいですよね。いう意味でも、リモートシェル機能は内蔵していないといけない。次の主題はこのgshellを簡単なHTTPサーバにすることだと思っています。基盤:ヒストリの中からコピペっていうのもやりますよね。なんていうコマンド・オプションがある模様です。できちゃうと良いかも。社長:ところで「再実行」は伝統的に!ですが、?をヒストリとかの検索機能に割り当てると良いようにも思うのですが。行頭の?だけは別扱いでも良いかもしません。ふつうに?として使いたかったら、./?とかすれば良さどうです。基盤:つまり?がhistoryコマンドということですね。?3とかすると、ヒストリの3番目のコマンドをラインエディタに呼び出すとか。社長:ディレクトリがタブでコンプリーションできると良いですね。いうか、このへんはかな漢字変換のシンプル版みたいなものですから、実際かな漢字変換と同じキーバインディングで検索すればよいのかなと思いますが。基盤:いっそIMEも作っちゃいたいですね。ローマ字かな変換までなら、簡単なプログラムで出来ると思います。的に表示できるようにしたいと思っています。whichでやってみました。同じようにできるでしょうね。開発:それとか、空白を含む引数、特にファイル名ですが、を使うためにいちいちクオートでやるのがすごく嫌です。空白と解釈することにしました。社長:空白を¥sで表現するのはDeleGateでもやってました。なんで標準的に存在してないんですかね?開発:さあ。何にしてもこれは個人の手元で使う表記ですから、やりたいようにやれば良いかなと思います。簡略版みたいものだと思います。PATHの中でファイルをワイルドカードで検索する機能はもともと動的ライブラリのために存在しますから、それをユーザがコマンドとして、あるいは引数のワイルドカードとして使えるようにすると良いと思いますね。開発:PATHをいちいち定義するのは面倒だったりするので、これまでに滞在したディレクトリを動的にPATHとして使えれば良いですね。これまでプログラムに渡したファイル名と思しき引数の中から検索させる、というかオートコンプリーションさせる。社長:コンピュータの黎明期にはヒストリ機能というのはリソースを食う贅沢機能だったわけです。個人が使えるディスク容量が1メガも無い時代。コマンドシェルって、そういう時代の錯誤を引きずってる気がしますね。基盤:まあ、ヒストリに1ギガ使ってもなんのことはないですよね。ベタ検索したって数秒もかからない。社長:なのでこの先はずっとそういう形でヒストリを保存して、ああ10年前この時にはこんなコマンドを打ってたなみたいな思い出にひたったりするわけです。開発:ヒストリの検索をしやすくするためには、ユーザが明示的にラベルと言うかタグを付けたいですね。いうか、ヒストリをHTTPで、HTMLで眺めるという全体なら、ログインごとにタイトルとかサブタイトルを付ける必要はあるのかなと思います。ブックマークといいいますか。社長:スクリプトにコメントを書くことは多いですが、インタラクティブに入力している端末でコメントを書くというのは、なんだかシュールで良いですね。社長:実装上の何か困難は?開発:だいぶGoの書き方というか、パッケージのドキュメントの流儀とか、スライスの使い方がわかって来たのでスムーズになりました。パッケージが非力というか未熟なのがつらいですかね。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。2020年10月17日outrage#。