今、私が作っているのは、UNIXコマンドを知らない人達に、
一時的にTera TermよりUNIX機にログインして簡単な作業を
してもらう為のCシェルです。
ほとんどコマンドを知らないわけですから、なるべくなら
ログイン時にそのCシェルが起動して、作業を終えたら
(シェルを終了したら or シェル内部で)自動的にログアウト
するような物を作りたいのです!(~Q~;)。
つまり、なるべく変な事して欲しくないと。。。言うことなのですが、
まだ私がCシェル初心者なもので、やり方が解りません。
何か良い方法がありましたらお願い致します<(__)>
ちなみに、SunOS 5.6 Solarisです。
No.2ベストアンサー
- 回答日時:
>(シェルを終了したら or シェル内部で)自動的にログアウト
>するような物を作りたいのです!
自分は、メールサーバに使用しているLinuxマシンで、
perlでメニュー形式で作業(パスワード設定、メール転送
設定等)が出来るスクリプトを作って使ってもらっています。
bashを使っているので、各ユーザの~/.bash_profileファ
イルにそのスクリプトを記入しておけば、login時に自動的
に、そのスクリプトが立ち上がります。で、そのスクリプト
のなかで、logoutコマンドを呼び出して自動的にlogoutさ
せてます。
cshなら、~/.loginにそのスクリプトを記述しておけば、
自動で動くでしょうし、logoutコマンドを使えば(検索
したところSunOS,Solarisともあるようです)logoutさせる
ことが出来ると思いますが。
ご回答ありがとうございます<(__)>。
結局、もう自分で作っていたCシェルが
ほぼ完成状態にあったので、
それを↓こんな風に改版して実現しました。
=====自作シェル内=======
~省略~
printf " 端末エミュレータを終了させますか?(y/n) => "
set reply=$<
switch ( $reply )
case "y":
exit 9 ← statusに9をいれる
breaksw
default:
exit 1
breaksw
endsw
======~/.login 内 ========
~省略~
"自作".csh
if ( $status == 9 ) then
logout
endif
こんなんです。~/.login内でないと、logoutって使えない
出来ないですね。初めて知りました(無知(´Å`;)。
ありがとうございました。
No.3
- 回答日時:
そういう場合には、ログインシェル自体をシェルスクリプトにしてしまうのが
一番です。
.login などにスクリプトを記述すると、break が上がったり、suspend されると
ログインシェルに戻ってしまうケースがあります。
やらせたいことをシェルスクリプトで作ったら、後は、その仕事をする専用の
ユーザを作り、そのログインシェルを、そのシェルスクリプトにします。
コマンドは useradd や usermod あたりを man で調べると良いでしょう。
ご回答ありがとうございます<(__)>。
結局、こんな↓風にしました。
これからも何かあったら宜しくお願いします!
=====自作シェル内=======
~省略~
printf " 端末エミュレータを終了させますか?(y/n) => "
set reply=$<
switch ( $reply )
case "y":
exit 9 ← statusに9をいれる
breaksw
default:
exit 1
breaksw
endsw
======~/.login 内 ========
~省略~
"自作".csh
if ( $status == 9 ) then
logout
endif
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
シェル 会話形式でエンターキ...
-
ターミナルが全く入力できない
-
Cシェルでのファイルからの入...
-
シェルスクリプトに関する問題...
-
バックスラッシュの意味がわか...
-
シンボリックリンクでリンク先...
-
Cシェル内でBシェルの様な関数...
-
シェル(ksh)で変数にある文字列...
-
シェルスクリプトの中であるプ...
-
export と set は違うの?
-
SUNのUNIXのシェル
-
違いについて
-
【Linux】シェルスクリプトにつ...
-
exitコマンドの後の変数につい...
-
.cshrc ファイルについて
-
シェルスクリプトで #!/bin/sh ...
-
Dirコマンドでフォルダ内ファイ...
-
SONYの音楽ソフト「x-アプリ」...
-
TOPコマンドで表示するCPU使用...
-
エクセルの表にヘンな枠が・・・
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
export と set は違うの?
-
ubuntuの端末の左にカレントデ...
-
.cshrc ファイルについて
-
Cシェル内でBシェルの様な関数...
-
『存在するかどうか分からない...
-
シェルスクリプトに関する問題...
-
シェル 会話形式でエンターキ...
-
コマンドプロンプトとかで、net...
-
シェルスクリプトで #!/bin/sh ...
-
バックスラッシュの意味がわか...
-
csh (tcsh)での環境変数の長さ...
-
ps -aのセッションリーダとは
-
シェル(ksh)で変数にある文字列...
-
makefile内の$$$$の意味
-
posixでshellを起動したとき`da...
-
Linuxのファイル禁止文字
-
ターミナルが全く入力できない
-
Tabキー補完や↑キーのヒストリ...
-
Cシェルでのファイルからの入...
-
Solarisでデフォルト環境変数の...
おすすめ情報