2008-07-17

my shell program

恐ろしくしょぼいシェルプログラムが出来ました。制作期間3日。無駄に10KB。変数登録機能を作ろうとしたけど、途中で断念。

click here to download my shell program


以下、readmeから引用した仕様

*************** readme file ***************
名称:mysh

コンパイルの仕方:
GNOME端末などからこのフォルダに入り、"make"を実行する。

起動方法:
GNOME端末などからこのフォルダに入り、"make run"を実行する。

mysh内でできること:
『myshでできること』
-> 『"入力文字列仕様"』 『Ex:入力文字列のサンプル』
--- 『備考』

環境変数にパスを追加する
-> "set パス名" Ex: set /bin

環境変数を新規作成する -> "set -n パス名" Ex: set -n /usr/bin --- 既に".path"ファイルが存在する場合は上書きされます。

コマンドの実行
-> "コマンド名 {引数} Ex: ls -l

パス指定のコマンドの実行
-> "/{dir/} コマンド名" Ex: /bin/ls -l

入出力のリダイレクト
-> "コマンド [< 入力ファイル名] [> 出力ファイル名] Ex: ls > new_file
--- 入出力リダイレクトの記号は順不同

パイプコマンド(重複可)
-> "コマンド {| コマンド}" Ex: ls -l | more | grep sh

(応用)パイプ途中経過出力
-> Ex: ls -l > output1 | more > output2 | grep te > output3
--- 使う機会はあまり無いが入力リダイレクトでも同様に可能

コマンド処理の強制終了
-> 処理実行中にCtrl+cを押す Ex: sleep 10000 (ここでCtrl+cを押す)

myshを終了する
-> "exit" Ex: exit


各ファイルの意味:
mysh.h myshをコンパイルするためのヘッダーファイル
mysh.c main関数とcheck関数, exec, fork, dupなどを扱う
mysys.c set_pathや構造体の初期化など行う
myget.c 入力文字列からデータを取得したり、.pathファイルから環境変数を取得するファイル

0 件のコメント: