恐ろしくしょぼいシェルプログラムが出来ました。制作期間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 件のコメント:
コメントを投稿