- ベストアンサー
bashの仕様
bashで次のようなコマンドはどのように実現したらよいでしょうか? 1.コンソールの最後の行を指定したテキストファイルに追加 2.キーボードの認識のさせ方
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
bash -i </dev/null 2>file でいいかと思いましたが、手元のRedHatではプロンプトの後ろに、exit とついてしまいました。その場合、 bash -i </dev/null 2>&1 | sed 's/exit$//' >file とexitという文字を削除します。 whilr はタイプミスです。 while echo -n '$ ';read cmdline;do date;eval $cmdline;done と打てば、ミニbashが動きます。この例ではコマンド実行前にdateで日時を表示させてます。
その他の回答 (2)
- notnot
- ベストアンサー率47% (4900/10359)
>>ターミナルウィンドウの最下行という意味ですか? >はい、そうです ウィンドウの内容を取り込むのは、Xアプリケーションでしかできません。 でも最下行って、ほとんどの場合、bashのプロンプトですよね。プロンプトの文字列をテキストファイルに追加したいということでしょうか?それなら出来るかも。 >コマンドラインで操作をしている人がEnterキーを押した後にあるシェルスクリプトを実行させたいんです tcsh なら、入力したコマンドを実行する直前や、コマンド実行後プロンプトを出す直前などに、指定したコマンドを実行する機能があります。bash にはありません。 bashでミニ版bashを書くことも考えられます。複数行にわたったコマンドは書けませんが、 whilr echo '$ ' ; read cmdline do Enter直後にしたい処理 eval $cmdline done
お礼
ありがとうございます. >プロンプトの文字列をテキストファイルに追加したいということでしょうか? そうです.何かいい方法はないでしょうか. あれば、ぜひ教えて下さい. >tcsh なら、入力したコマンドを実行する直前や、 >コマンド実行後プロンプトを出す直前などに、 >指定したコマンドを実行する機能があります。 >bash にはありません。 tcshに切り替えるべきか悩んでいます. >bashでミニ版bashを書くことも考えられます。 whilrとはwhileのことでしょうか? readについて下のURLをみましたがよく分りませんでした. http://www.netfort.gr.jp/~tomokuni/lms/shell/text/shell.txt
- notnot
- ベストアンサー率47% (4900/10359)
1.コンソールの最後の行とは?? ターミナルウィンドウの最下行という意味ですか? 2.キーボードの認識のさせ方とは?? キーボードがUS配列とかJP配列とか調べるという意味ですか? 具体的にどういうことをしたいのでしょう?
お礼
ありがとうございます. >1.コンソールの最後の行とは?? >ターミナルウィンドウの最下行という意味ですか? はい、そうです. >2.キーボードの認識のさせ方とは?? >キーボードがUS配列とかJP配列とか調べるという意味ですか? これは、遠隔操作でもそうでなくてもですが、ユーザーがキーボードを打ち込んだときにコンピューターがどのキーを押されたかを認識することです.もう少しはっきり言いますと、コマンドラインで操作をしている人がEnterキーを押した後にあるシェルスクリプトを実行させたいんです
お礼
ありがとうございます. 少し、基礎から調べて自分で考えた上で改めて質問させていただきたく思います.bashは奥が深そうです.(汗)