くだらねえ質問はここに書き込め! Part 243at LINUX
くだらねえ質問はここに書き込め! Part 243 - 暇つぶし2ch305:login:Penguin
21/01/12 21:48:19.10 gfXgehl/.net
>>304
Note PCってBIOSにハードウェアー診断ツールついてない?
まずはそこからかなと思うけど。
あとこういうのもあるよ
URLリンク(www.ultimatebootcd.com)

306:login:Penguin
21/01/13 10:41:16.12 wlFxT0l4.net
>>292
家を買ったりリフォームしたりに金は出せても、1万程度の物に対する執着心は捨てれないんだな。

307:login:Penguin
21/01/13 10:42:32.11 wlFxT0l4.net
>>295
ソース?バイナリ?

308:login:Penguin
21/01/13 10:44:50.52 wlFxT0l4.net
>>298
まず、そのハード必ず動く状態を作る。作れないなら壊れてる。

309:login:Penguin
21/01/13 10:51:30.97 wlFxT0l4.net
/そのハード必ず/そのハードで必ず/

310:login:Penguin
21/01/13 11:20:40.58 z3AqITUy.net
ほんとに同じ状況でスイッチ押してるのに確率で何かが起きたり起きなかったりするなら多分ハードの問題だよ

311:login:Penguin
21/01/13 11:23:17.84 /02y8BwM.net
>>309
syntax error だわ、その記法は。

312:login:Penguin
21/01/13 16:44:33.84 nmbZ/UW1.net
/そのハード必ず動く/そのハート必ず奪ってやる/

313:login:Penguin
21/01/13 18:26:21.69 rAmyKHw2.net
>>298
Liveで再現したら自分であればハードを疑う。
USBマウス等外せるものは全て外して再現するか。メモリチェックの実施、メモリ(の一部)を取り外し(取り付け)ても再現するか、systemrescuecd等グラフィック負荷が無い状態で起動しても再現するか。

314:login:Penguin
21/01/13 20:25:53.82 a0QbcgKP.net
期待する結果を得るにはどのようにしたらよいでしょうか

■作ったスクリプト(一部)
snmp_result=$(snmpwalk -t1 -v1 -c public 10.10.10.10 .1.3.6.1.2.1.1.5.0) || cmd_result01=1)&
■これで何を期待したか
snmpwalkが成功すると→snmpwalkの結果が$snmp_resultに格納(cmd_result01=1は実行されない)
snmpwalkが失敗すると→$snmp_resultは空(書き換わらない)、$cmd_result01には1が格納される
■実際
snmpwalkが失敗しようと成功しようと、
$snmp_result、$cmd_result01の値が書き換わらない
切り分けた結果、変数のスコープじゃないかというところまでは
予想ができたのですが、「じゃぁどうすればいいのか」というのがわかりませんでした。

なにとぞよろしくお願いいたします。

315:login:Penguin
21/01/13 21:02:31.37 1JmLG4qE.net
普通に地道にやってください

316:login:Penguin
21/01/13 21:17:05.15 aIHHvY2b.net
>>314
サバ管業務かな懐かしい・・・
まずは、いきなり変数にほりこむんじゃなくてテキストで出力してみたら?
ログがいるよ。やっぱり。

317:login:Penguin
21/01/13 21:19:54.28 aIHHvY2b.net
>>316
こんな感じ
コマンドの結果を>ログ
変数の値を>ログ
突き合わせてみると切り分けしやすいよ。

318:login:Penguin
21/01/13 22:04:27.55 psJVVMhR.net
>>314
やったこと、期待したこと、結果が書かれた模範的な質問だ素晴らしい。
予想はおおむね正しいが多分少し認識がずれている。
(cmd; cmd)はサブシェル、つまり別プロセスで実行される。
だから子プロセスが変数に値をセットしても親プロセスに影響を与えないのは当然なのだ。
どうすればいいかというとやはり方針転換が必要で、ファイル経由で渡すとか、名前付きパイプ(mkfifo)で渡すとか。
トリッキーだけど頑張れば名前無しパイプでもできたと思う。

319:login:Penguin
21/01/13 23:00:52.67 +Xzihkx0.net
>>314
バックグラウンド実行は必要?必要ないなら
snmp_result=$(snmpwalk -t1 -v1 -c public 10.10.10.10 .1.3.6.1.2.1.1.5.0) || echo 1)
で失敗時はsnmp_resultに1が入るし、
バックグラウンド実行が必要なら
snmpwalk -t1 -v1 -c public 10.10.10.10 .1.3.6.1.2.1.1.5.0) &
pid=$!
wait $pid || cmd_result01=1
みたいな感じでバックグラウンド実行の結果をwaitして、失敗時はcmd_result01=1になるようにもできる。

320:login:Penguin
21/01/13 23:04:36.05 +Xzihkx0.net
あ、括弧が余計だった
snmp_result=$(snmpwalk -t1 -v1 -c public 10.10.10.10 .1.3.6.1.2.1.1.5.0 || echo 1)
とか
snmpwalk -t1 -v1 -c public 10.10.10.10 .1.3.6.1.2.1.1.5.0 &
pid=$!


321:login:Penguin
21/01/13 23:15:19.36 nmbZ/UW1.net
>>314
こうすればいいだけだよ
snmp_result=$(snmpwalk -t1 -v1 -c public 10.10.10.10 .1.3.6.1.2.1.1.5.0) || cmd_result01=1

322:login:Penguin
21/01/13 23:32:48.69 ggedyECG.net
>>321
質問主は言葉で表記していないが、必須条件としてバックグラウンドで実行があるんじゃないのか?

323:login:Penguin
21/01/14 09:53:30.23 3k3ZlGVZ.net
バックグラウンドで実行する場合、何をどのタイミングでどうしたいのかがわからないので答えようがない
自分が何をしたいのかわかっていれば、レスするだろ
それ待ち

324:login:Penguin
21/01/14 13:49:47.67 sMZm6NO1.net
>>322
じゃあこうすれば。
(snmp_result=$(snmpwalk -t1 -v1 -c public 10.10.10.10 .1.3.6.1.2.1.1.5.0) || cmd_result01=1)&

325:login:Penguin
21/01/14 15:50:15.51 zcD4C0WN.net
>>324
君が質問を理解できていないのは分かった


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch