!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
シェルスクリプトに関する総合スレッドです。
スレ立て時は以下の文を先頭行に加えて下さい。
後のつけ忘れ防止の為に複数行重ねて追加推奨
!extend:on:vvvvv:1000:512
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
前スレ
シェルスクリプト総合 その28
http://mevius.5ch.net/test/read.cgi/tech/1532397676/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
シェルスクリプト総合 その29
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 3efb-m2E0)
2018/09/22(土) 11:53:21.38ID:BBiLRgnj0279デフォルトの名無しさん (アウアウウー Sa9f-L0SM)
2018/10/21(日) 20:00:09.31ID:0dWokXAIa stat コマンドの出力解析した方が楽ではないか?
または find コマンドの -perm 利用してチェックして -exec でやらせたいことをやらせる。
または find コマンドの -perm 利用してチェックして -exec でやらせたいことをやらせる。
280デフォルトの名無しさん (ワッチョイ ea98-usPd)
2018/10/21(日) 20:21:13.14ID:dQhyPQp/0281デフォルトの名無しさん (ワッチョイ f364-qPjg)
2018/10/21(日) 22:04:44.47ID:8BH3p2hm0 標準入力の代わりにfileの内容を入力するのに、リダイレクトで
$ <file somecmd
とやる方式ってPOSIXで既定されてるっけ。
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_07_01
このへんに書いてそうなんだけど、それっぽい記述がない?
$ <file somecmd
とやる方式ってPOSIXで既定されてるっけ。
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_07_01
このへんに書いてそうなんだけど、それっぽい記述がない?
282デフォルトの名無しさん (ワッチョイ 269f-nBLa)
2018/10/22(月) 02:54:50.03ID:HyPH6OEy0 >>280
じゃ、find で。
ファイルのパーミッションに 066 を and した時に 0 になるやつでいいのなら
find $dir -prune ! -perm -40 ! -perm -20 ! -perm -4 ! -perm -2 -exec やらせたいこと \;
のようにすればいいのではないかな。
http://pubs.opengroup.org/onlinepubs/9699919799/ で find コマンド見てみたら -perm はあるようなので。
もし GNU の find コマンド使えるようなら -perm /mode が使えて、これは何れかのビットが立っていれば
真になるので ! -perm /66 の一つで出来ると思う。
じゃ、find で。
ファイルのパーミッションに 066 を and した時に 0 になるやつでいいのなら
find $dir -prune ! -perm -40 ! -perm -20 ! -perm -4 ! -perm -2 -exec やらせたいこと \;
のようにすればいいのではないかな。
http://pubs.opengroup.org/onlinepubs/9699919799/ で find コマンド見てみたら -perm はあるようなので。
もし GNU の find コマンド使えるようなら -perm /mode が使えて、これは何れかのビットが立っていれば
真になるので ! -perm /66 の一つで出来ると思う。
283デフォルトの名無しさん (ワッチョイ db8a-2XJB)
2018/10/22(月) 03:01:30.80ID:1Kkbm3du0 GNUのfind使っていいという条件なら、GNUのlsやstatでいいじゃんw
284名無しさん@そうだ選挙に行こう! Go to vote! (アウアウウー Sa9f-L0SM)
2018/10/22(月) 10:18:21.67ID:8WYgXfgna その辺はご自由に。POSIX縛りがあってもこの場合にfindも使えるってだけの話なので。ls使いたいならそうすればいい。
285デフォルトの名無しさん (ワッチョイ f364-qPjg)
2018/10/22(月) 14:51:33.47ID:JUwIDQm90 >>281
これ分かる方います?
これ分かる方います?
286デフォルトの名無しさん (JP 0H1b-v9b0)
2018/10/22(月) 16:55:54.61ID:9s+yFzz3H >>281
2.1の5で、リダイレクトの処理をしてパラメーターリストから
除去するって書いてあるのと、
6でコマンド名を第0パラメーターとして渡すって書いてるってことは、
先頭もパラメーターリストの一部と解釈できるから、
暗に、先頭にリダイレクトがあってもいいってことを表してるんでは?
2.1の5で、リダイレクトの処理をしてパラメーターリストから
除去するって書いてあるのと、
6でコマンド名を第0パラメーターとして渡すって書いてるってことは、
先頭もパラメーターリストの一部と解釈できるから、
暗に、先頭にリダイレクトがあってもいいってことを表してるんでは?
287デフォルトの名無しさん (ガックシ 06e6-fIkj)
2018/10/22(月) 19:08:52.43ID:WU2zxBnF6288デフォルトの名無しさん (ガックシ 06e6-fIkj)
2018/10/22(月) 19:09:38.93ID:WU2zxBnF6 あ、ワッチョイもIDも違うけど>>285です。
289デフォルトの名無しさん (ワッチョイ ea98-Pr2h)
2018/10/22(月) 21:35:03.82ID:oF7wf0Ce0 >>118
それはオブジェクト指向の話じゃない
C++の話だ
そもそもテンプレートやジェネリックは、型を明確にすることでバグを少なくしたり
速度を速くするためのもので、オブジェクト指向における問題点を解決するための追加機能
テンプレートやジェネリックを使うことでオブジェクト指向が不要になるのではなく
オブジェクト指向と組み合わせて使うことで問題点が改善される
テンプレートはオブジェクト指向と組み合わせずに使えたと思うが、
テンプレートの殆ど(ジェネリックは全て)はオブジェクト指向なしに使うことはできない
それはオブジェクト指向の話じゃない
C++の話だ
そもそもテンプレートやジェネリックは、型を明確にすることでバグを少なくしたり
速度を速くするためのもので、オブジェクト指向における問題点を解決するための追加機能
テンプレートやジェネリックを使うことでオブジェクト指向が不要になるのではなく
オブジェクト指向と組み合わせて使うことで問題点が改善される
テンプレートはオブジェクト指向と組み合わせずに使えたと思うが、
テンプレートの殆ど(ジェネリックは全て)はオブジェクト指向なしに使うことはできない
290デフォルトの名無しさん (ワッチョイ ea98-usPd)
2018/10/22(月) 21:47:50.25ID:oF7wf0Ce0 あ、書き込まれてないと思ったら書き込む場所間違えてたのかw
291デフォルトの名無しさん (ワッチョイ ea98-usPd)
2018/10/22(月) 23:23:26.53ID:oF7wf0Ce0292デフォルトの名無しさん (アウアウウー Sa9f-L0SM)
2018/10/23(火) 13:27:19.16ID:QwHjyvjPa シェルというか tar コマンドの問題なんだけど、tar tvf でアーカイブに入っているファイルのタイムスタンプを秒単位まで出す方法ある?
Linux で GNU tar のmanページ見た感じではなさそうなんだけど、やはり自作するしかないなかな。
Linux で GNU tar のmanページ見た感じではなさそうなんだけど、やはり自作するしかないなかな。
293デフォルトの名無しさん (ワッチョイ 2a23-8h48)
2018/10/23(火) 14:12:45.60ID:mYtscksw0 >>292
tar --full-time ...
tar --full-time ...
294デフォルトの名無しさん (アウアウウー Sa9f-L0SM)
2018/10/23(火) 14:38:56.39ID:QwHjyvjPa >>293
おお!ありがとう。新しい GNU tar にあるね。
最初CentOS6で試しててわからなかった。これは GNU tar 1.23 だ。
CentOS7は GNU tar 1.26 になっててこちらでは出来るしmanページにも書いてあった。
おお!ありがとう。新しい GNU tar にあるね。
最初CentOS6で試しててわからなかった。これは GNU tar 1.23 だ。
CentOS7は GNU tar 1.26 になっててこちらでは出来るしmanページにも書いてあった。
295デフォルトの名無しさん (ワッチョイ f364-qPjg)
2018/10/23(火) 15:22:22.26ID:cKF5Z2eR0 CentOS 6はそろそろサポート切れるんじゃないかしら
余計なお世話だが移行したほうがいいんでは
余計なお世話だが移行したほうがいいんでは
296デフォルトの名無しさん (アウアウウー Sa9f-L0SM)
2018/10/23(火) 15:35:42.08ID:QwHjyvjPa >>295
するする。仕事でRHEL6のサーバ使っててそれの一部をテストする時に使ってただけなので。
するする。仕事でRHEL6のサーバ使っててそれの一部をテストする時に使ってただけなので。
297デフォルトの名無しさん (ワッチョイ 7b32-JHIh)
2018/10/25(木) 13:45:54.07ID:7aRL1OkY0 すごい低レベルな質問で申し訳ないんだけど、
win用のGit-bashで.shファイルダブルクリックしたときに
DOS窓出さないで実行するのってどうすればいい?
win用のGit-bashで.shファイルダブルクリックしたときに
DOS窓出さないで実行するのってどうすればいい?
298デフォルトの名無しさん (アウアウウー Sa5d-hDoO)
2018/10/25(木) 14:43:08.46ID:hw/Q19JUa >>297
それもはやシェルかどうか関係なくてWindows固有の問題だと思うが、エクスプローラでそのファイル右クリックしてプロパティ出したらそんな感じの設定できるようになってない?
最小化した状態で実行するとか、そんなやつ。
それもはやシェルかどうか関係なくてWindows固有の問題だと思うが、エクスプローラでそのファイル右クリックしてプロパティ出したらそんな感じの設定できるようになってない?
最小化した状態で実行するとか、そんなやつ。
299デフォルトの名無しさん (アウアウウー Sa5d-hDoO)
2018/10/25(木) 14:51:54.06ID:hw/Q19JUa こうだ。
まずショートカット作り、そのショートカットのプロパティ出すと実行時の大きさを指定できる所があって、そこを最小化にすると実行時にタスクバーにアイコン出ているだけになる。
まずショートカット作り、そのショートカットのプロパティ出すと実行時の大きさを指定できる所があって、そこを最小化にすると実行時にタスクバーにアイコン出ているだけになる。
300デフォルトの名無しさん (ワッチョイ 7b32-JHIh)
2018/10/25(木) 16:15:39.89ID:7aRL1OkY0301デフォルトの名無しさん (ワッチョイ 9764-Ed1r)
2018/10/26(金) 22:15:40.17ID:ScQN6FWl0 ファイルや標準出力の行数がある数値より大きいことをできるだけ高速に確かめるにはどうすればいいだろう
最も単純で最もUNIXっぽいのは
$ test $(<file.txt wc -l) -gt $num
としてその真偽を見ることだけど
$ test $( (yes | head -n 3000000000000000000) | wc -l) -lt 300
こういうのを実行して貰えれば分かると思うがかなり時間が掛かる
俺の使ってる計算機はそこそこ良い性能(Intel Xeon x2/32GiB RAMなのだが)
それでも実行に1分強掛かった。
しかしこれは無駄だ。なぜなら結局比較する対象は300なのだから、「300行以上ある」ことが分かればいい。
なにか案ありませんかね。
思ったのはsed -n -e '300p'とかでその失敗判定を見るとかだが,これはsedコマンドの失敗の要因が他にもあるので
ちょっと不安定かなと。
最も単純で最もUNIXっぽいのは
$ test $(<file.txt wc -l) -gt $num
としてその真偽を見ることだけど
$ test $( (yes | head -n 3000000000000000000) | wc -l) -lt 300
こういうのを実行して貰えれば分かると思うがかなり時間が掛かる
俺の使ってる計算機はそこそこ良い性能(Intel Xeon x2/32GiB RAMなのだが)
それでも実行に1分強掛かった。
しかしこれは無駄だ。なぜなら結局比較する対象は300なのだから、「300行以上ある」ことが分かればいい。
なにか案ありませんかね。
思ったのはsed -n -e '300p'とかでその失敗判定を見るとかだが,これはsedコマンドの失敗の要因が他にもあるので
ちょっと不安定かなと。
302デフォルトの名無しさん (ワッチョイ 1d80-SUE8)
2018/10/26(金) 23:12:31.32ID:7cGNdWT70 cで指定行読むコマンドを作ればいい
面倒なこといちいち考える必要がそもそもない
面倒なこといちいち考える必要がそもそもない
303デフォルトの名無しさん (ワッチョイ 5b98-o90R)
2018/10/26(金) 23:41:06.71ID:E+2rE/Ml0 >>301
headで300行読み込めば?
headで300行読み込めば?
304デフォルトの名無しさん (ワッチョイ 5b5b-F79V)
2018/10/27(土) 00:04:40.31ID:GbJLfo150 sed -n 300pでもええんか?
305デフォルトの名無しさん (ワッチョイ 9764-Ed1r)
2018/10/27(土) 00:13:24.42ID:BbyQQXdF0306デフォルトの名無しさん (ワッチョイ 5b98-o90R)
2018/10/27(土) 00:29:51.71ID:4RrrP6U60307デフォルトの名無しさん (ワッチョイ 5b98-o90R)
2018/10/27(土) 00:37:07.31ID:4RrrP6U60 あれ?できなかったか?
308デフォルトの名無しさん (ワッチョイ 9764-Ed1r)
2018/10/27(土) 01:15:41.17ID:BbyQQXdF0 GNU headだとどうか知らないが
POSIX headだと無理
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/head.html
POSIX headだと無理
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/head.html
309デフォルトの名無しさん (ワッチョイ 5b98-o90R)
2018/10/27(土) 01:23:00.95ID:4RrrP6U60 シェルスクリプトでループで回しながら数えるのと
headで300行とってきて、wcで300行数えるのってどっちが速いんだろうかね
やればすぐわかるけど、やる気起きないなぁw
headで300行とってきて、wcで300行数えるのってどっちが速いんだろうかね
やればすぐわかるけど、やる気起きないなぁw
310デフォルトの名無しさん (ワッチョイ 5b9f-3knh)
2018/10/27(土) 04:24:55.28ID:QwPOuwmq0 >>309
シェルスクリプトだとインタープリタの言語みたいな動きになるので遅そうなイメージはあるな。但しうまいこと内部で最適化されれば速くなるかもね。
シェルスクリプトだとインタープリタの言語みたいな動きになるので遅そうなイメージはあるな。但しうまいこと内部で最適化されれば速くなるかもね。
311デフォルトの名無しさん (ワッチョイ 5b98-o90R)
2018/10/27(土) 08:30:31.93ID:4RrrP6U60 >>310
いうてもループとカウントと条件分岐だけだからなぁ
内部的にはインタプリタ解釈後の状態になってるだろうし
そこでCPUは食わない気がする
でもheadでとってきてwcでカウントの部分は並列で実行できるわけで
マルチコアなら当然のことながら、シングルコアでもファイルから読み取りの方が
遅いからwcで待たされることはなさそう
どちらが速いかは微妙な所だなw
いうてもループとカウントと条件分岐だけだからなぁ
内部的にはインタプリタ解釈後の状態になってるだろうし
そこでCPUは食わない気がする
でもheadでとってきてwcでカウントの部分は並列で実行できるわけで
マルチコアなら当然のことながら、シングルコアでもファイルから読み取りの方が
遅いからwcで待たされることはなさそう
どちらが速いかは微妙な所だなw
312デフォルトの名無しさん (ワッチョイ 5b76-MKt5)
2018/10/27(土) 09:05:32.40ID:94jXB05x0 awkでいいんじゃないの
313デフォルトの名無しさん (ワッチョイ 1d80-SUE8)
2018/10/27(土) 09:08:24.86ID:S4VvuAVS0 ファイルの先頭からLFの数を数えるだけのことを
ああでもこうでもないと
いちいち考えないといけないオツムのデキを疑うわ。。。
ああでもこうでもないと
いちいち考えないといけないオツムのデキを疑うわ。。。
314デフォルトの名無しさん (オッペケ Sref-9p2Q)
2018/10/27(土) 09:14:33.78ID:EI3TCK5cr ループってreadのループ?
catからパイプしてwhileのreadループってどうなんだっけ
昔作ったシェルでcatしてたファイルを処理中に書き換えたけど
実行されてる処理では書き換える前の内容で処理されてたみたいだから
どこかメモリに展開されてるんじゃ
catからのパイプでプロセスが終わってるからか?
でもリダイレクトやヒアドキュメントでも同じじゃないの?
catからパイプしてwhileのreadループってどうなんだっけ
昔作ったシェルでcatしてたファイルを処理中に書き換えたけど
実行されてる処理では書き換える前の内容で処理されてたみたいだから
どこかメモリに展開されてるんじゃ
catからのパイプでプロセスが終わってるからか?
でもリダイレクトやヒアドキュメントでも同じじゃないの?
315デフォルトの名無しさん (ワッチョイ 1d80-SUE8)
2018/10/27(土) 09:24:18.83ID:S4VvuAVS0 低学歴知恵遅れの思考形態、世界では
すでに用意されているコマンドを組み合わせてシェルスクリプトを書くことが
シェルスクリプトを書くことになるという決まりがあるのが
このスレみてると分かる
すでに用意されているコマンドを組み合わせてシェルスクリプトを書くことが
シェルスクリプトを書くことになるという決まりがあるのが
このスレみてると分かる
316デフォルトの名無しさん (ワッチョイ c3e7-t6cX)
2018/10/27(土) 09:27:18.91ID:7MihieRw0 そういうのは上流でなんとかせい
317デフォルトの名無しさん (ワッチョイ 5b76-MKt5)
2018/10/27(土) 09:36:35.55ID:94jXB05x0 >>314
単にバッファに入っていただけとか。カーネルに設定できるバッファサイズなバッファなんぞもしくはcatプログラムのバッファ(の方が小さいだろう、たぶん)
もしくは上書きが上書きではなくて削除して新規ファイルに保存とかの場合とか(削除してもどこぞでオープンしていたらクローズされるまでは元のはそのまま残る)、か、OSが他でオープンされていたら上書きでも同じように別に保存してるとか
単にバッファに入っていただけとか。カーネルに設定できるバッファサイズなバッファなんぞもしくはcatプログラムのバッファ(の方が小さいだろう、たぶん)
もしくは上書きが上書きではなくて削除して新規ファイルに保存とかの場合とか(削除してもどこぞでオープンしていたらクローズされるまでは元のはそのまま残る)、か、OSが他でオープンされていたら上書きでも同じように別に保存してるとか
318デフォルトの名無しさん (ワッチョイ 5b98-o90R)
2018/10/27(土) 10:00:05.77ID:4RrrP6U60 >>313
考えてるのはファイルの先頭からLFの数を数える
「効率がいい方法(コマンド)は何か」だよ
LFの数を数えることなんてわかりきったことは考えてない
それを実現する方法を考えてる
まったくキミは思慮が足りないなw
考えてるのはファイルの先頭からLFの数を数える
「効率がいい方法(コマンド)は何か」だよ
LFの数を数えることなんてわかりきったことは考えてない
それを実現する方法を考えてる
まったくキミは思慮が足りないなw
319デフォルトの名無しさん (ワッチョイ 5b98-o90R)
2018/10/27(土) 10:02:52.71ID:4RrrP6U60320デフォルトの名無しさん (ワッチョイ 5b98-o90R)
2018/10/27(土) 10:06:05.12ID:4RrrP6U60 >>312
awkプログラマ、シェルショッカーさんこんちには(笑)
awkプログラマ、シェルショッカーさんこんちには(笑)
321デフォルトの名無しさん (ワッチョイ 5b76-MKt5)
2018/10/27(土) 10:32:12.85ID:94jXB05x0 何を噛み付いているのだか。よほど気に食わないことがあるらしいなっw
322デフォルトの名無しさん (アウアウカー Sad3-x45d)
2018/10/27(土) 10:38:33.23ID:5CI9IsZua このガキのやり取りもシェルスクリプトスレの日常になりつつあるな
323デフォルトの名無しさん (ワッチョイ 5b98-o90R)
2018/10/27(土) 10:42:58.86ID:4RrrP6U60 この殺伐さがいいんだよ
324デフォルトの名無しさん (ワッチョイ 5b76-MKt5)
2018/10/27(土) 10:49:54.15ID:94jXB05x0 雑談すんなとか言ってなかったかなあ、だれかはw
325デフォルトの名無しさん (ワッチョイ 1d80-SUE8)
2018/10/27(土) 11:01:01.29ID:S4VvuAVS0 低学歴知恵遅れのしゃべり場
326デフォルトの名無しさん (ワッチョイ 5b76-MKt5)
2018/10/27(土) 11:02:18.35ID:94jXB05x0 自己紹介そのものじゃないのww
327デフォルトの名無しさん (ワッチョイ 9764-g60c)
2018/10/27(土) 15:16:56.95ID:BbyQQXdF0 >>305
まあこれで今のところ上手くいってるのでいいです。
まあこれで今のところ上手くいってるのでいいです。
328デフォルトの名無しさん (ワッチョイ 9764-Ed1r)
2018/10/28(日) 00:51:41.26ID:5IpH1DwA0 「シェルスクリプト」を省略するときなんて呼べばいいのかな。
“ss”だと他の用例が多すぎてややこしいし。
“shscp”とか?
“ss”だと他の用例が多すぎてややこしいし。
“shscp”とか?
329デフォルトの名無しさん (アウアウカー Sad3-x45d)
2018/10/28(日) 01:46:36.58ID:0ZKwpNcRa sh
330デフォルトの名無しさん (ワッチョイ 5b98-o90R)
2018/10/28(日) 02:04:05.48ID:PnJQ4LJT0 SHと書くとスーパエッチみたいだな
331デフォルトの名無しさん (ワッチョイ df03-WuzW)
2018/10/28(日) 06:57:04.86ID:xmv6f/Y+0 そもそもシェルでええのにわざわざシェルスクリプトって言いたがる新参者達w
332デフォルトの名無しさん (ドコグロ MMcf-YOnW)
2018/10/28(日) 07:36:49.77ID:fdB1NucVM そういうくだらないことにしか突っ込めない老害w
333デフォルトの名無しさん (ワッチョイ 5b5b-KO6q)
2018/10/28(日) 07:49:18.94ID:JDWqlC9k0 >>331
シェルでググれ&テンプレくらい嫁
シェルでググれ&テンプレくらい嫁
334デフォルトの名無しさん (ワッチョイ df03-WuzW)
2018/10/28(日) 09:10:44.72ID:xmv6f/Y+0 >>333
おまえがググれよおこちゃまw
おまえがググれよおこちゃまw
335デフォルトの名無しさん (ワッチョイ 5b98-o90R)
2018/10/28(日) 09:26:48.32ID:PnJQ4LJT0 こんな感じに script1.sh が script2.sh を呼び出してる状態でさ、
script1.sh
└ script2.sh
CTRL+Cを押した時、script2.shは止めて、script1.shは
止めないってできるのかなぁ?
シグナルって、伝搬というか、上から下へ もしくは 下から上へ
流れていくものなん?
script1.sh
└ script2.sh
CTRL+Cを押した時、script2.shは止めて、script1.shは
止めないってできるのかなぁ?
シグナルって、伝搬というか、上から下へ もしくは 下から上へ
流れていくものなん?
336デフォルトの名無しさん (ワッチョイ bb80-+toU)
2018/10/28(日) 10:03:53.12ID:oCsOt6/L0 trapかけろ
337デフォルトの名無しさん (ワッチョイ 5b98-o90R)
2018/10/28(日) 10:12:32.68ID:PnJQ4LJT0 ああ、いやトラップはかけてるんだよ
script1.sh でINTを無効にすると
script2.sh は止まらなくなる
script1.sh でINTを無効にすると
script2.sh は止まらなくなる
338デフォルトの名無しさん (ブーイモ MM5b-F79V)
2018/10/28(日) 11:08:09.88ID:YiTUMI+KM >>334
老害と思いきや素人か
老害と思いきや素人か
339デフォルトの名無しさん (ワッチョイ 5b76-MKt5)
2018/10/28(日) 11:18:09.59ID:gJfQRhUl0 >>335,337
目的がどこまでどゆのなのかわからんけど、script2.shのシグナルハンドラでkill -SIGTERM $PPIDすればそんな動作にはなるな
目的がどこまでどゆのなのかわからんけど、script2.shのシグナルハンドラでkill -SIGTERM $PPIDすればそんな動作にはなるな
340デフォルトの名無しさん (ワッチョイ 5b76-MKt5)
2018/10/28(日) 11:32:07.64ID:gJfQRhUl0 ああ、script2.shを止めるのか
そんなんだったらscript2.shのシグナルハンドラでexitすればいいんじゃないの??また変な縛りとか拘りとかは知らん
そんなんだったらscript2.shのシグナルハンドラでexitすればいいんじゃないの??また変な縛りとか拘りとかは知らん
341デフォルトの名無しさん (ワッチョイ ab5d-DAZ3)
2018/10/28(日) 11:40:05.37ID:uhvIO3T60 script1.sh だけ動作を変えたいということなら
trap true INT
でいいように思うんだが…
trap true INT
でいいように思うんだが…
342デフォルトの名無しさん (ワッチョイ 5b76-MKt5)
2018/10/28(日) 11:47:47.85ID:gJfQRhUl0 script2.shでそのへんの制御とかしたくなく、script1.shだけでならscript1.shで trap SIGINTすればいいだけっぽいな。無効じゃなくなにもしないシグナルハンドラで
script2.shの時だけでならその前後でNOPのシグナルハンドラ設定通常のシグナルハンドラに戻すとかか
>>341 被ったけど、書いたので被り被りで
script2.shの時だけでならその前後でNOPのシグナルハンドラ設定通常のシグナルハンドラに戻すとかか
>>341 被ったけど、書いたので被り被りで
343デフォルトの名無しさん (ワッチョイ 5b98-o90R)
2018/10/28(日) 17:27:21.50ID:XoYPKH7l0 勘違いしてた。違う所が原因だった
単純にscript2.shを起動してるのではなくて
script2.sh | filter みたいにパイプ使っていて、
CTRL+C押したときにscript2.shが出力するメッセージを
script1.shで受け取れないって問題だった
単純にscript2.shを起動してるのではなくて
script2.sh | filter みたいにパイプ使っていて、
CTRL+C押したときにscript2.shが出力するメッセージを
script1.shで受け取れないって問題だった
344デフォルトの名無しさん (ワッチョイ 5b76-MKt5)
2018/10/28(日) 17:58:26.84ID:gJfQRhUl0 どのタイミングでの出力が出ない、出したいのかわからんな。CTRL+C押した瞬間ギリのか??としか思えないが。filterがなんなのか知らんけど、script1.shでtrapでもscript2.shでの出力が全くでないことなないだろう、当然
script2.shでtrapしてexitすればギリ近くのまで出るんじゃないの。script2.shで実際に出力しているコマンド(プロセス)にもよるだろうけど
script2.shでtrapしてexitすればギリ近くのまで出るんじゃないの。script2.shで実際に出力しているコマンド(プロセス)にもよるだろうけど
345デフォルトの名無しさん (ワッチョイ 5b76-MKt5)
2018/10/28(日) 18:40:23.99ID:gJfQRhUl0 ああ、trapの対象はパイプチェイン(?)の最後のヤツ&それがシェルでなければなのか?script2.shに飛ぶことはないのね。その最後のでexitすればだなすればかな
script2.sh | cat
script2.sh | sh -c "trap 'exit 0';cat"
のような変態なw それもシェル種類依存かな。あとはバッファをflushすればよりなんとかなりそうかなあ(できるのであれば)
そもそもCTRL+Cなんだからそんなギリを気にすんなってとこか
script2.sh | cat
script2.sh | sh -c "trap 'exit 0';cat"
のような変態なw それもシェル種類依存かな。あとはバッファをflushすればよりなんとかなりそうかなあ(できるのであれば)
そもそもCTRL+Cなんだからそんなギリを気にすんなってとこか
346デフォルトの名無しさん (ワッチョイ 5b76-MKt5)
2018/10/28(日) 18:42:22.28ID:gJfQRhUl0 SIGINT抜けてた
347デフォルトの名無しさん (ワッチョイ 5b98-o90R)
2018/10/28(日) 19:05:49.36ID:XoYPKH7l0 >>344
最終的にやりたいことは
script1.sh ・・・ サブプロセスの標準出力・標準エラー出力を総てキャプチャしたい
script2.sh ・・・ 標準出力・標準エラー出力を行い、CTRL+Cを押されたら(trapして)
CTRL+Cが押されたと標準エラー出力に出力したい
ってことなんだよね
> そもそもCTRL+Cなんだからそんなギリを気にすんなってとこか
そういうことだし、諦めて一つのスクリプトにしてやりたいことは
解決できたのでもう深追いする気はなくなってる
あと関係ないけど、SIGINTってPOSIXじゃないみたいだなw
INTを使えってshellcheckに怒られた。みんな SIG SIG 言ってるのに
最終的にやりたいことは
script1.sh ・・・ サブプロセスの標準出力・標準エラー出力を総てキャプチャしたい
script2.sh ・・・ 標準出力・標準エラー出力を行い、CTRL+Cを押されたら(trapして)
CTRL+Cが押されたと標準エラー出力に出力したい
ってことなんだよね
> そもそもCTRL+Cなんだからそんなギリを気にすんなってとこか
そういうことだし、諦めて一つのスクリプトにしてやりたいことは
解決できたのでもう深追いする気はなくなってる
あと関係ないけど、SIGINTってPOSIXじゃないみたいだなw
INTを使えってshellcheckに怒られた。みんな SIG SIG 言ってるのに
348デフォルトの名無しさん (ワッチョイ 5b76-MKt5)
2018/10/28(日) 20:03:04.22ID:gJfQRhUl0 なにその勝手にやる気なくすなよw ほんとに身勝手だな、いつも通り
SIGINTはPOSIXだからな(なぞ)。そっち寄りのの人は普通に使ってしまうんじゃね。てか、んなの本題に関係ないだろうに、そんなこと言いたいのはわかるけどさ(なぞ)
SIGINTはPOSIXだからな(なぞ)。そっち寄りのの人は普通に使ってしまうんじゃね。てか、んなの本題に関係ないだろうに、そんなこと言いたいのはわかるけどさ(なぞ)
349デフォルトの名無しさん (ワッチョイ 5b98-o90R)
2018/10/28(日) 20:07:36.88ID:XoYPKH7l0 >>348
> なにその勝手にやる気なくすなよw
$ dash -c 'trap true SIGINT && echo v^_^'
trap: SIGINT: bad trap
$ dash -c 'trap true INT && echo v^_^'
v^_^
> なにその勝手にやる気なくすなよw
$ dash -c 'trap true SIGINT && echo v^_^'
trap: SIGINT: bad trap
$ dash -c 'trap true INT && echo v^_^'
v^_^
350デフォルトの名無しさん (ワッチョイ 5b76-MKt5)
2018/10/28(日) 20:17:52.04ID:gJfQRhUl0 で?通じてるんでしょ?POSIX縛りなんてあったの?そういうのはやる気あるのねw
351デフォルトの名無しさん (ワッチョイ 5b76-MKt5)
2018/10/28(日) 20:20:44.42ID:gJfQRhUl0352デフォルトの名無しさん (ワッチョイ 5b98-o90R)
2018/10/28(日) 20:30:59.64ID:XoYPKH7l0 >>350
やる気ではなくて、POSIX縛りは必須要件なので
サブプロセスの標準エラー出力の件は、別の方法で解決できることなので
数値でも指定できるのは知ってる。trap SIGINTとかSIGINT抜けてたとか
かいてあるから、trap INT、INT抜けてただよって言ってるだけ
やる気ではなくて、POSIX縛りは必須要件なので
サブプロセスの標準エラー出力の件は、別の方法で解決できることなので
数値でも指定できるのは知ってる。trap SIGINTとかSIGINT抜けてたとか
かいてあるから、trap INT、INT抜けてただよって言ってるだけ
353デフォルトの名無しさん (ワッチョイ 5b76-MKt5)
2018/10/28(日) 20:36:08.52ID:gJfQRhUl0 また、後出しか。そんなレスしている目的は違うだろうw
いきなり「数値でも指定できるのは知ってる」とか??(3)に対して???
http://pubs.opengroup.org/onlinepubs/007904975/utilities/trap.html
(新しいドキュメントはどこだ?)
SIG付きもPOSIX仕様のようだけどなwオプションでも言及しているんだからPOSIXの仕様のひとつだろう
なんて、アホなやりとりしたいの?
いきなり「数値でも指定できるのは知ってる」とか??(3)に対して???
http://pubs.opengroup.org/onlinepubs/007904975/utilities/trap.html
(新しいドキュメントはどこだ?)
SIG付きもPOSIX仕様のようだけどなwオプションでも言及しているんだからPOSIXの仕様のひとつだろう
なんて、アホなやりとりしたいの?
354デフォルトの名無しさん (ワッチョイ 5b76-MKt5)
2018/10/28(日) 20:40:09.47ID:gJfQRhUl0 >いきなり「数値でも指定できるのは知ってる」とか??(3)に対して???
ああ、(3)がSIGINTの数値だと思ったのか。違うぞ2だぞ。(3)は C API という意味
ああ、(3)がSIGINTの数値だと思ったのか。違うぞ2だぞ。(3)は C API という意味
355デフォルトの名無しさん (ワッチョイ 5b98-o90R)
2018/10/28(日) 20:41:40.70ID:XoYPKH7l0 なるほどSIGをつけた名前はPOSIXだが、ポータビリティではないってことか
echoみたいなもんだな
echoみたいなもんだな
356デフォルトの名無しさん (ワッチョイ 5b98-o90R)
2018/10/28(日) 20:42:17.74ID:XoYPKH7l0 >>354
ここ、シェルスクリプトのスレだから
ここ、シェルスクリプトのスレだから
357デフォルトの名無しさん (ワッチョイ 5b76-MKt5)
2018/10/28(日) 20:43:25.81ID:gJfQRhUl0 でた、都合が悪くなるとのいつものやつw
358デフォルトの名無しさん (ワッチョイ 5b98-o90R)
2018/10/28(日) 20:50:49.94ID:XoYPKH7l0 シェルスクリプトのスレでC APIは関係ないですよね?
言ってること間違ってますか?
言ってること間違ってますか?
359デフォルトの名無しさん (ワッチョイ 5b76-MKt5)
2018/10/28(日) 20:56:45.89ID:gJfQRhUl0360デフォルトの名無しさん (ワッチョイ 5b98-o90R)
2018/10/28(日) 21:00:00.71ID:XoYPKH7l0 > ちなみに、>>353のPOSIXドキュメントでも (3) のことに言及しているのはどう思う?
それが、シェルスクリプトだけのドキュメントじゃなくて、POSIXのドキュメントだからでしょう???
なにがいいたいんだか
それが、シェルスクリプトだけのドキュメントじゃなくて、POSIXのドキュメントだからでしょう???
なにがいいたいんだか
361デフォルトの名無しさん (ワッチョイ 5b76-MKt5)
2018/10/28(日) 21:01:18.42ID:gJfQRhUl0 コマンドのドキュメントだよ。それもお前が大好きなPOSIXのw
いろいろ破綻しているように見えなくもない。落ち着けww
いろいろ破綻しているように見えなくもない。落ち着けww
>>358
その C API って何ですか?定義を教えてください
その C API って何ですか?定義を教えてください
363デフォルトの名無しさん (ワッチョイ 5b98-o90R)
2018/10/28(日) 21:26:47.89ID:XoYPKH7l0364デフォルトの名無しさん (ワッチョイ 5b98-o90R)
2018/10/28(日) 21:28:14.13ID:XoYPKH7l0365デフォルトの名無しさん (ワッチョイ 5b76-MKt5)
2018/10/28(日) 21:37:09.45ID:gJfQRhUl0 >>363
で?その目的がわからんな。単に素直な疑問なだけなら、>>348で応えているけど。話を振ってねちっこく続けているのは誰なの?>>349とか以後とか
それも>>353でお前は納得したんだろ?
なんか上でC++のことを偉そうにのたまっているのを誤爆したのお前じゃなかったっけ?
それがお前じゃなくても、なんでコマンド関連のCなんて簡単なのにそんなに知らないのか不思議だな、なんか異常にシェルスクリプト「だけ」に拘るのもあって
UNIX/Linux界隈では自分でCでコマンド書く(簡単なフィルタも)のも普通にいるだろうから、お前のようにシェルスクリプトだけしか言ってはいけないなんてないと思うけどな(それも俺からは単にお前の間違いをごまかすためだけにしか見えんからw)
>>362は俺に振ってもいいが、なにを聞いているのか傍目にもわからないw すまんが、も少し具体的に>>362
で?その目的がわからんな。単に素直な疑問なだけなら、>>348で応えているけど。話を振ってねちっこく続けているのは誰なの?>>349とか以後とか
それも>>353でお前は納得したんだろ?
なんか上でC++のことを偉そうにのたまっているのを誤爆したのお前じゃなかったっけ?
それがお前じゃなくても、なんでコマンド関連のCなんて簡単なのにそんなに知らないのか不思議だな、なんか異常にシェルスクリプト「だけ」に拘るのもあって
UNIX/Linux界隈では自分でCでコマンド書く(簡単なフィルタも)のも普通にいるだろうから、お前のようにシェルスクリプトだけしか言ってはいけないなんてないと思うけどな(それも俺からは単にお前の間違いをごまかすためだけにしか見えんからw)
>>362は俺に振ってもいいが、なにを聞いているのか傍目にもわからないw すまんが、も少し具体的に>>362
366デフォルトの名無しさん (ワッチョイ 2723-+HLB)
2018/10/28(日) 21:40:16.96ID:quDgO6NR0 またposix先生が宿題出してんの?
367デフォルトの名無しさん (ワッチョイ 01fb-KhvQ)
2018/10/28(日) 21:44:47.82ID:EWkScXjB0 ぽっぽっぽー
368デフォルトの名無しさん (ワッチョイ 5b98-o90R)
2018/10/28(日) 21:49:30.03ID:XoYPKH7l0 >>365
コマンド?
もしかして、trapがコマンドだと思ってる?
シェルビルトイン関数だよ
シェルのプロセスでシグナルを扱わなきゃいけないから
外部コマンドで実装することは不可能
だからシェルスクリプトスレでtrapの話をするならば
シェルスクリプト前提になるのは当然だろう?
コマンド?
もしかして、trapがコマンドだと思ってる?
シェルビルトイン関数だよ
シェルのプロセスでシグナルを扱わなきゃいけないから
外部コマンドで実装することは不可能
だからシェルスクリプトスレでtrapの話をするならば
シェルスクリプト前提になるのは当然だろう?
369デフォルトの名無しさん (ワッチョイ 5b76-MKt5)
2018/10/28(日) 21:53:11.18ID:gJfQRhUl0 >>368
そういう細かいことは言いたいのね。大枠でコマンドでいいじゃん (1) の範疇なんだから
その二行目以降はイミフ。なにを言っているの?言いたいの?
お前から見てミスを論ってなんとかお前のなにかを保ちたいだけにしか見えない
そういう細かいことは言いたいのね。大枠でコマンドでいいじゃん (1) の範疇なんだから
その二行目以降はイミフ。なにを言っているの?言いたいの?
お前から見てミスを論ってなんとかお前のなにかを保ちたいだけにしか見えない
370デフォルトの名無しさん (ワッチョイ 5b98-o90R)
2018/10/28(日) 21:53:58.49ID:XoYPKH7l0371デフォルトの名無しさん (ワッチョイ 5b76-MKt5)
2018/10/28(日) 21:54:56.36ID:gJfQRhUl0 結局SIGINTの振りも>>368と同じでなにかをなんとかしたかっただけだろなww
SIGINTで失敗したから、別のにか。懲りないなw
SIGINTで失敗したから、別のにか。懲りないなw
372デフォルトの名無しさん (ワッチョイ 5b76-MKt5)
2018/10/28(日) 21:55:59.54ID:gJfQRhUl0 >>370
なんか失点を挽回しようとしているのが透けて見えてるのでwww
なんか失点を挽回しようとしているのが透けて見えてるのでwww
373デフォルトの名無しさん (ワッチョイ 5b98-o90R)
2018/10/28(日) 21:59:08.94ID:XoYPKH7l0374デフォルトの名無しさん (ワッチョイ 5b98-o90R)
2018/10/28(日) 22:00:47.39ID:XoYPKH7l0 ID:gJfQRhUl0 がさっきから俺に言ってることって
全部自分の事になってるのわかってないのかな?
どうせ次言う言葉も、自分のことを棚に上げて言うんだろうな
全部自分の事になってるのわかってないのかな?
どうせ次言う言葉も、自分のことを棚に上げて言うんだろうな
375デフォルトの名無しさん (ワッチョイ 5b76-MKt5)
2018/10/28(日) 22:07:32.28ID:gJfQRhUl0 >>373,374
はあ?無茶苦茶やな
その答えはすでに応えているけど。「みんな SIG SIG 言ってるのに」のに対する応えを含めての
それも最初に。それも話の流れで、お前も納得勉強wになっただろうにww
よほど「お前のなにかを保ちたい」が琴線だったようだねえw
はあ?無茶苦茶やな
その答えはすでに応えているけど。「みんな SIG SIG 言ってるのに」のに対する応えを含めての
それも最初に。それも話の流れで、お前も納得勉強wになっただろうにww
よほど「お前のなにかを保ちたい」が琴線だったようだねえw
376デフォルトの名無しさん (ワッチョイ 8bb3-WuzW)
2018/10/28(日) 22:32:38.54ID:reiOA0Hq0 UNIX板へ帰ろう
377デフォルトの名無しさん (ワッチョイ 5b76-MKt5)
2018/10/28(日) 22:34:09.63ID:gJfQRhUl0 https://www.freebsd.org/cgi/man.cgi?query=builtin&apropos=0&sektion=1&manpath=FreeBSD+12-current&arch=default&format=html
https://linuxjm.osdn.jp/html/GNU_bash/man1/builtins.1.html
コマンドでよかったみたいだけどwww
https://linuxjm.osdn.jp/html/GNU_bash/man1/builtins.1.html
コマンドでよかったみたいだけどwww
378デフォルトの名無しさん (アウアウカー Sad3-KhvQ)
2018/10/28(日) 22:50:09.83ID:8zpC2JPUa379デフォルトの名無しさん (ワッチョイ 5b5b-F79V)
2018/10/28(日) 23:07:26.81ID:JDWqlC9k0 村を出てアイドルになるためだったよな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市内閣、支持率横ばい75% (日経・テレ東 世論調査) [少考さん★]
- 【調査】クレジットカード、1人何枚持つのが「平均的」? [ひぃぃ★]
- 【調査】クレジットカード、1人何枚持つのが「平均的」?★2 [ひぃぃ★]
- 首都圏の通勤ラッシュがどんどんひどくなっている JR埼京線は混雑率163%!コロナ前に戻ったわけ [首都圏の虎★]
- 【作家】高市総理支持の背景に見えるヤンキー的「ケンカ上等!」と「日本人は特別だ」感がとても怖い 北原みのり [少考さん★]
- 「レアアースを精製できる技術は日本が持っている、日本にレアアース来なければ中国は精製できない」 衆議院答弁 ★2 [お断り★]
- 愛国者「国を守りたい。これのなにが悪いの?」👈これ [834922174]
- 【実況】風真いろはのえちえち4周年(こよりあり)
- 🏡🌊💥👊😅👊💥🌊🏡
- 【悲報】かつて独身男性のメイン食だった「レトルトカレー」さん、高くなりすぎて終わる [268718286]
- おさかなさんあつまれえ
- 【世論】高市を支持する75%!前月比1%増 [219241683]
