![]() |
|
|
Googleのunix.com
|
|||||||
| シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。 |
その他のUNIXおよびLinuxフォーラムトピックは参考にすること
|
||||
| スレッド | スレッドスターター | フォーラム | 返信 | 最後の投稿 |
| プロセスとユーザ | barbus | シェルプログラミングとスクリプティング | 22 | 2007年10月3日 08:09午後 |
| ユーザーがプロセスを | イアーゴー | UNIXのダミー質問と回答のため | 3 | 2007年9月10日 03:51午後 |
| 私はアイドル状態のプロセスをユーザーに電子メールに必要scipt ! ? | sheppy28 | シェルプログラミングとスクリプティング | 0 | 2007年2月2日 04:08午後 |
| ユーザーのプロセスを表示する | olimiles | シェルプログラミングとスクリプティング | 2 | 2006年8月18日 03:57午後 |
| ユーザーやプロセス | Chiefos | UNIXのダミー質問と回答のため | 17 | 2006年6月17日 05:16午後 |
![]() |
|
|
LinkBack | スレッドツール | このスレッドを検索 | スレッドを評価 | 表示モード |
|
|
|
||||
|
プロセスにより、各ユーザの印刷
こんにちはすべて、
私は別の処理では、各ユーザを取得しようとしている。私はいくつかの方法しかし、私は私のコードを取得してからではないです # !ビン/ bashを/ ユーザ\u003d `猫は/ etc / passwd |カット- Dを' : ' - F5キーを` onlineusers \u003d `ユーザー|繋げるtr ' 。 ' ' ` $ onlineusers |中` ` $ユーザー読む する エコーのユーザーの` ps - ū $ ` 完了した には、ルートに動作していない:コマンドが見つからないという それを何らかの方法pls 。 |
|
||||
|
正しい構文は、 コード:
while read users 何に$をコマンドとしてユーザーの価値を評価するために、これを取得"ルート試行: "コマンドが見つかりません(これは、最初のユーザのルートで、これは、コマンド、およびユーザーの残りは引数として渡されます。このコマンド) 。 なぜあなたは/ etcからユーザーを抽出する/したときからそれらを読んで終わりpasswdの ユーザ?私のシステムで、 ユーザ 同じユーザーが複数回すれば、複数回では、欲しいものをログに記録されますが印刷されない場合があります。 ここでは、問題を修正では、全体のスクリプトを実行し: コード:
#!/bin/bash users | tr '. ' ' ' | sort -u | while read user do ps -U "$user" done 2番目の引数に トランジスタ 単一引用符内で改行されます。開口を引用、行、新しい行の最後に、引用終了。はい、それはbashに有効な文字列の(と shに 一般的に) 。の出力をこのブレーク ユーザ 複数行にすることができますので、 ソート- ū 任意の重複を排除する。 は、出力の ユーザ 私のUbuntuのボックスには異なっているかもしれないが、あなたの完全停止を持っていません。 私も(私が見た限りで言うこと) ` `バックは一度だけ使用されている変数は、ユーザの出力の一時的な割り当てを無償エコーを取り出した。ああ、私はシバン行固定-がbashの後には大幅に削減する、と1つのビンにする必要があります。 時代別に編集最終; 2008年4月28日に 04:16午後..理由:ビンの前にスラッシュ |
|
||||
|
はい、私はここでテストした(ただし、唯一の後に)尋ねた。ので、非常に徹底したテストケースではない私は1人のユーザーがいる。 あなたは、エラーが表示されるか、またはいないのは何でしょうか? どこに表示されることの本当の名前がいい? コード:
#!/bin/bash users | tr '. ' ' ' | sort -u | while read user do sed -n "s/:[^:]*:[^:]*$//;s/^$user:[^:]*:[^:]*:[^:]*://p" /etc/passwd ps -U "$user" done その セッド スクリプトの道徳的等価です。 はgrep " ^ $ユーザ: "は/ etc / passwd |カットエ: - F5キーを押し は、おそらくより読みやすいです。おそらくその代わりに、実際に使用するようにします。 時代別に編集最終; 2008年4月28日に 04:42午後..理由:の説明を削除するsedスクリプトに代替 |
|
||||
|
時代の回答いただきありがとうございます
しかし、私はまだ発見し、これを各ユーザに対していくつかのエラーのユーザー名を取得 *********簡単な選択リストから選択********* ********* ********* - Aで、すべてのプロセス- Cコマンドで名 - nを打ち消す選択- gを実際のグループIDで( )の名前をサポートしています - aすべてのワット/ tty - ū真の指導者を除いて、セッションのユーザーID ( )の名前をサポートしています - Dのセッションリーダーを除くすべての- gをセッションまたは有効なグループ名で メールのすべてのプロセス- pのプロセスによって番号 この端末では一部のプロセスのセッションでは、プロセスを与えられた - Tの他のユーザーを含むすべてのttyでワット/ tty 、 グラム旧式-使用しないでください、効果的なユーザIDでū ( )の名前をサポートしています 研究ū指定されたプロセスだけを実行するユーザーのためのプロセス のX / Oの制御はttysトンでワットttyプロセス 長いオプションの出力形式********** *********** *********** *********** -おお、またはユーザ定義の- fを-グループ-ユーザ- pidを- cols - ppidフル - jを、 jジョブ制御-グループ-ユーザ-はsid -行-インフォメーション信号秒 -おお、またはプリインストール- ov仮想メモリ-累積-形式-選択を解除 - lの、長いūリットルユーザーオリエンテッド-ソート- tty -森林-バージョン - Fが余分なフルXのレジスタ-見出し-ノー見出し-コンテキスト 一般的なオプション********* ********* - Vは、 Vの詳細バージョンlリスト形式コード金ASCIIアートの森 -メートル、 mは、 - Lを、 - Tの、 hはスレッドでの子供たち- yの合計を変更する- lの形式 -メートル、 Zも、セキュリティ、データCが真のコマンド名- cをスケジューリングクラス は、広い出力Ñワットワット数値WCHAN 、 UIDを- hでプロセスの階層 |