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