No.3ベストアンサー
- 回答日時:
No2です。
>その処理の内部でその時に実行されたコマンドが何かを判断し、別の処理をさらに実行するという事をしたいのです。
コマンドを実行した「後」で、今実行したコマンドが何であったのかを知るのは可能です。bashで、
PROMPT_COMMAND='history 1 | foo'
で、fooと言うプログラムで直前のコマンドを解析する。
bashの設定でヒストリに残さないこともあるので、そういうことがないように、HISTCONTROL HISTIGNORE HISTSIZE を適切に設定します。
ただしhistoryで表示されるのは、(ヒストリ置換以外の)各種置換や展開の前のコマンドラインなので、変数展開とかファイル展開などを自分で行う必要があります。
No.2
- 回答日時:
シェルへ手動で打ち込んだコマンドが対象であれば、
・シェルを自作する
・シェルを改造する(簡単な改造ならそんなに難しくは無いと思うがこういう質問をする人には無理か)
で可能。シェル(bash/tcsh等)の設定などでは不可能。
他のプログラムから内部的に起動されるコマンドなども対象なら
・カーネルを改造する
で可能。それ以外の方補では不可能。
実際にやりたいことを書くと、他のもっと簡単な方法があるかも。
この回答への補足
シェルの設定でやはり不可能でしょうか。
例えば、zshだとprecmdなどがあったり、bashだとちょっと違うかもしれませんがPROMPT_COMMANDなどがあったりすると思います。
やりたいことは、その処理の内部でその時に実行されたコマンドが何かを判断し、別の処理をさらに実行するという事をしたいのです。
No.1
- 回答日時:
シェルにラッパーをかけるしか思いつきません・・・
要は、適当なスクリプトをユーザが使うシェルの代わりに配置して、受けた入力を「自作のスクリプト」に渡しつつ本来のシェルで実行するということです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
mac os x10.6.4のターミナルでp...
-
コマンドプロンプトとかで、net...
-
ubuntuの端末の左にカレントデ...
-
シェルにて日付計算して値を取...
-
Linux のシェルスクリプトの強...
-
UNIX コマンドにおける # や円...
-
SONYの音楽ソフト「x-アプリ」...
-
ファイル名一覧の印刷
-
bashでシングルクォート内の変...
-
スクリプトのエラー「unexpecte...
-
「環境変数名の編集」ウィンド...
-
シェルスクリプトとターミナル...
-
IPアドレスだとPingが通るのに...
-
echo $!の意味を教えてください
-
Dirコマンドでフォルダ内ファイ...
-
compressコマンドってなくなっ...
-
シェルスクリプト実行で”そのよ...
-
gfortranでmakefile
-
windows10のごみ箱をrd /s /q C...
-
teratermマクロ でSQL?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
export と set は違うの?
-
Cシェル内でBシェルの様な関数...
-
.cshrc ファイルについて
-
シェル 会話形式でエンターキ...
-
x11のTerminalが複数個起動しない
-
BシェルとBashの違い
-
if [ "$PS1" ]の意味を教えてく...
-
コマンドプロンプトとかで、net...
-
シェルスクリプトで #!/bin/sh ...
-
Cシェルでのファイルからの入...
-
『存在するかどうか分からない...
-
ターミナルが全く入力できない
-
シェルとシェルの間で環境変数...
-
Linuxのファイル禁止文字
-
ubuntuの端末の左にカレントデ...
-
シェル(ksh)で変数にある文字列...
-
solarisのsetenvが無効
-
ログインシェルについて
-
Tabキー補完や↑キーのヒストリ...
-
UNIX(hp-ux)のコマンド履歴↑↓
おすすめ情報