- 締切済み
puttyというsshクライアントでログインと同時にシェルスクリプトを実行したい
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- Toshi0230
- ベストアンサー率51% (836/1635)
ユーザのホームディレクトリ直下に ".bash_profile" を設定すれば、そのユーザがログインしたときだけ指定したスクリプトを動作させることができると思いますが。 「.bash_profileだとそのユーザー全員が対象になってしまう」とおっしゃっている意味がわかりません。 どういう条件でスクリプトを実行させたいのか、もう少し詳しく説明していただけますか?
関連するQ&A
- シェルスクリプトについて
とあるUNIXサーバが1台あるとします。 でそのマシン上の管理プログラムが同一マシン上にある 「シェルスクリプト(bash)」をキックするとします。 となるとそのシェルスクリプトの実行者(?)は Unixにログオンしているユーザーになるのでしょうか?。 目的としてはそのログインしているユーザーの環境変数 をシェルから参照したいのですが・・ 考え方がWindowsなもので。。すみませんが よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- 他ユーザーのシェルスクリプト実行
他ユーザーのシェルスクリプトを実行する際に「rsh」や「ssh」を使用しないで実行 する方法が知りたいです。 また、シェルはCのプログラムから実行させたいのでパスワードの入力を求められたり するのは避けたいです。 フルパスを直接指定すれば実行は出来ましたが、ユーザーが変わっていないので ほしい結果が得られませんでした。 OSはredhat linuxです。
- ベストアンサー
- その他(プログラミング・開発)
- スクリプトを起動時に実行させるには
バックアップ用の簡単なシェルスクリプトを書きました。 これを、システムの起動時と終了時に自動的に実行させたいのですが、 どこに置いたらいいのでしょうか。 とりあえず思い付いたのはbash_profileとbash_logoutに書くという方法ですが,できればログイン前,システム起動スクリプトが終わったあとあたりに実行させたいと思っています。 非常に初歩的な質問で申し訳ありませんが,どう調べていいかわからず困っておりますので,ごく大まかにお教え頂くかリンクなどを紹介していただければと思います。
- 締切済み
- その他(ITシステム運用・管理)
- シェルスクリプトを実行後すぐに中断する方法
シェルスクリプトがどのシェル(bash, zsh, tcsh)で実行されたかを確認したいため実行直後に停止したいのですが、どうすればよいでしょうか? すかさずctrl+zを押しても間に合いません。 (一般的な方法を知りたいのでスクリプト内でwaitというのは無しでお願いします。)
- ベストアンサー
- Linux系OS
- [シェルスクリプト内で bashコマンド後のコマンドが実行されない]
[シェルスクリプト内で bashコマンド後のコマンドが実行されない] 以下の様にシェルスクリプトを記述するとコマンド2が実行されません。 #! /bin/sh コマンド1 bash コマンド2 bash環境でコマンド2を実行させるにはどうしたら良いのでしょうか?
- ベストアンサー
- Linux系OS
- ログインシェルの役割
ログインシェルの役割って何でしょう? 何のためにあるのでしょうか? bash だと、bash --login としてログインすると「.bash_profile が読み込まれて、ログインシェルとしてログインした」ということになります。 でも、--login をつけなくても普通に仕事をできますよね? 何か歴史的な意味でもあるのでしょうか? 好くなとも、実用的な価値はさっぱり分かりません。
- ベストアンサー
- Solaris系OS
- シェルスクリプト内の「exit」
クライアントからteratermでservAに接続します。 そこからservBに接続します。 $ ssh servB サーバーBに個人のディレクトリがあり、そこにシェルスクリプトを作っています。 そのシェルスクリプトは「exit 0」で終わっています。 これを実行すると、サーバーBからログアウトしてしまいます。 exitはシェルスクリプト内で使うと、シェルスクリプトを終了するだけかと思ったのですが、ログアウトもしてしまうものなのでしょうか? exitを書かなければ、ログアウトすることなく、カレントディレクトリは変わらないままです。 実行するたびに $ ssh servB $ cd work/mydir と実行しないと自分のディレクトリに戻ってこれないので不便です。 色々と調べたのですが、なぜログアウトしてしまうのかわかりません。 どうすれば、ログアウトしないのか教えて下さい。 よろしくお願いいたします。 シェルスクリプト(TEST) #!/bin/bash -xv echo hello! exit 0 実行結果 [company@servB mydir]$ . TEST hello! Connection to servB closed. [company@servA ~]$
- ベストアンサー
- Linux系OS
- シェルスクリプト間で排他をとりたい
環境 linux(redhat) 使用シェル bash シェルスクリプトAとシェルスクリプトBを作成し、 シェルスクリプトAが動作している間は、シェルスクリプトBの動作を禁止したいと考えています。 例えば、シェルスクリプトAが起動している状態で、シェルスクリプトBが起動されたとき、シェルスクリプトBは、シェルスクリプトAが起動していることを検知して、自発的に処理を終了するようにしたいと考えています。 上記のような仕組みをシェルスクリプトで実現可能でしょうか? 基本的には、シェルスクリプトの先頭で、ある資源のロックを行い、終了時にロックの解放ができれば、その仕組みは実現可能と考えています。 (シェルの異常終了時は、ロックが自動的に解放されることが望ましい) 上記のようなことをシェル(bash)で実現可能でしょうか。 bash単独での方法、もしくはbashからperl,C言語作成の実行モジュールを呼び出す方法でもかまいません。 (ちなみにperl(もしくはC言語作成のモジュール)単独では実現可能なことはわかっています)
- ベストアンサー
- その他(プログラミング・開発)
- 権限の違うシェルスクリプトの実行
3つのシェルスクリプトがあります。 ●root権限で実行 aaa.csh ●ユーザ指定権限で実行 bbb.csh ●root権限で実行 ccc.csh この3つのシェルスクリプトはaaa.csh →bbb.csh →ccc.cshの順番でバッチ処理として cronに設定したいのですが、 権限が違うのでroot権限のcrontabとユーザ指定のcrontabに それぞれ設定しなくてはいけません。 あまりスマートではないかと思い、 何かよい方法はないかと質問させて頂きました。 3つのシェルスクリプト1つシェルスクリプトにまとめてroot権限のcrontabに設定してしまう方法とかどうでしょうか? ちなみにスクリプトの処理の内容は単純なファイルコピーなどです。 意味分かりますでしょうか? よろしくお願いします。
- ベストアンサー
- Solaris系OS
- シェルスクリプトでsshの初回ログイン処理をしない
以下のような処理はシェルスクリプトで実装可能でしょうか。 【host.txt】 aaaホスト bbbホスト cccホスト 【test.sh】 for (【host.txt】の一覧) { if (ホストに対してAre you sure you want to continue connecting (yes/no)?と聞いてきた) { # ssh初回ログイン時 } else { # ssh初回ログインではない } }
- ベストアンサー
- その他(プログラミング・開発)