シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
前スレ:
シェルスクリプト総合 その28
http://mevius.5ch.net/test/read.cgi/tech/1532397676/
探検
シェルスクリプト総合 その29
■ このスレッドは過去ログ倉庫に格納されています
2018/09/21(金) 23:34:47.98ID:/eJt2TVD
2018/09/21(金) 23:36:59.94ID:/eJt2TVD
お約束
・特記なき場合、Bourne ShellもしくはPOSIX準拠のsh可換シェルが既定です
つまりシバンは#! /bin/shです。
他のシェル(bash, zsh, ksh, (d)ash, yash, posh, fish, (t)csh)などの専用機能に依存する場合は明示しましょう。
OS X, GNU/Linuxユーザーは/bin/shの実体がbashなので*特に*注意(自覚なきbashism---シバンが#!/bin/shなのにbashに依存する構文を使っていませんか?)。
ただしDebian, Ubuntuなどでは/bin/shの実体はPOSIX sh互換のdashですのであまり気にしないでも大丈夫です。
FreeBSDユーザーは/bin/shの実体がashなので注意。
Solaris, OpenBSDユーザーは/bin/shの実体がkshなので注意。
csh/tcshでのシェルスクリプトは*まったく推奨しません*。
(参考URL: http://www.speech-lab.org/~hiroki/csh-whynot.euc)
・POSIXに準拠しましょう
有用なリンクはhttps://en.wikipedia.org/wiki/POSIXにまとめられています。
最新の仕様はこちらへ: http://pubs.opengroup.org/onlinepubs/9699919799/
(左上の「Shell & Utilities」から各コマンドやファイルの仕様を参照することができます)
・Version 7 UNIXのsh(1)に一番近いのはOpenSolaris由来のHeirloom sh、次点でDebianなどに搭載されているDash shell
Heirloom sh: http://heirloom.sourceforge.net/sh.html
Dash shell: http://gondor.apana.org.au/~herbert/dash/
・UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります
Manページや各種リンク(http://pubs.opengroup.org/onlinepubs/9699919799/idx/utilities.htmlなど)を見ましょう。
apropos(1)ないしはman(1)の-kオプションでそれらしい単語による簡単な検索もできます。
・ワイルドカードは正規表現ではありません。
正規表現の話題はスレ違い(正規表現スレへ)
・シェルスクリプトのことをシェルってゆうな
・特記なき場合、Bourne ShellもしくはPOSIX準拠のsh可換シェルが既定です
つまりシバンは#! /bin/shです。
他のシェル(bash, zsh, ksh, (d)ash, yash, posh, fish, (t)csh)などの専用機能に依存する場合は明示しましょう。
OS X, GNU/Linuxユーザーは/bin/shの実体がbashなので*特に*注意(自覚なきbashism---シバンが#!/bin/shなのにbashに依存する構文を使っていませんか?)。
ただしDebian, Ubuntuなどでは/bin/shの実体はPOSIX sh互換のdashですのであまり気にしないでも大丈夫です。
FreeBSDユーザーは/bin/shの実体がashなので注意。
Solaris, OpenBSDユーザーは/bin/shの実体がkshなので注意。
csh/tcshでのシェルスクリプトは*まったく推奨しません*。
(参考URL: http://www.speech-lab.org/~hiroki/csh-whynot.euc)
・POSIXに準拠しましょう
有用なリンクはhttps://en.wikipedia.org/wiki/POSIXにまとめられています。
最新の仕様はこちらへ: http://pubs.opengroup.org/onlinepubs/9699919799/
(左上の「Shell & Utilities」から各コマンドやファイルの仕様を参照することができます)
・Version 7 UNIXのsh(1)に一番近いのはOpenSolaris由来のHeirloom sh、次点でDebianなどに搭載されているDash shell
Heirloom sh: http://heirloom.sourceforge.net/sh.html
Dash shell: http://gondor.apana.org.au/~herbert/dash/
・UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります
Manページや各種リンク(http://pubs.opengroup.org/onlinepubs/9699919799/idx/utilities.htmlなど)を見ましょう。
apropos(1)ないしはman(1)の-kオプションでそれらしい単語による簡単な検索もできます。
・ワイルドカードは正規表現ではありません。
正規表現の話題はスレ違い(正規表現スレへ)
・シェルスクリプトのことをシェルってゆうな
2018/09/21(金) 23:39:20.07ID:/eJt2TVD
初心者へのアドバイス
・適した道具を判断するのも頭の重要な使い方。
シェルスクリプトよりもPerlまたはPythonの方が適した処理にはそちらを使いましょう。
・知らないコマンドが出てきたらman(1)を引きましょう。
・思い通りに動かないときは、まずはsh(1)の-xオプションでトレースしましょう。
回答者への注意事項
・相手がシェルスクリプトでの処理方法を質問しているのにもかかわらず、よく知りもせずに、「そういうのはPerl, Python使え」と回答するのはやめましょう。
安易にPerlやPythonに逃げずに小さなコマンドを組み合わせシェルスクリプトで処理するのが頭のいいやり方。
・質問に対して問題が間違ってるといちゃもんをつけるのも避けましょう。
・適した道具を判断するのも頭の重要な使い方。
シェルスクリプトよりもPerlまたはPythonの方が適した処理にはそちらを使いましょう。
・知らないコマンドが出てきたらman(1)を引きましょう。
・思い通りに動かないときは、まずはsh(1)の-xオプションでトレースしましょう。
回答者への注意事項
・相手がシェルスクリプトでの処理方法を質問しているのにもかかわらず、よく知りもせずに、「そういうのはPerl, Python使え」と回答するのはやめましょう。
安易にPerlやPythonに逃げずに小さなコマンドを組み合わせシェルスクリプトで処理するのが頭のいいやり方。
・質問に対して問題が間違ってるといちゃもんをつけるのも避けましょう。
2018/09/21(金) 23:45:34.73ID:/eJt2TVD
2018/09/21(金) 23:48:15.75ID:/eJt2TVD
そして注意書きに従ってください。
…回線切って首釣ってくる
…回線切って首釣ってくる
2019/02/08(金) 12:13:50.02ID:OGIJJ+v/
age
2019/02/08(金) 13:03:01.43ID:VZqJ7QJN
8デフォルトの名無しさん
2019/02/09(土) 15:41:36.60ID:6/bHpQ6m 回線って言葉の定義によるが、今どきの優先での光とかでも回線とは言う。光回線とかね。
9デフォルトの名無しさん
2019/02/09(土) 15:41:50.96ID:6/bHpQ6m 優先じゃなくて有線
2019/02/09(土) 22:28:27.73ID:ksUvHKJZ
printfのフォーマットについてなんだけど
printf '%05d' '33' → 00033
みたいなゼロ埋めってどのシステムでもサポートされているのかな。
%5dみたいな記述はPOSIXの仕様書に在ったから確実だけど
ゼロ埋めフラグについて何の言及もしてないっぽいんだよね。
%gとかと違って「実装を要求しない」とも言っていないし。
printf '%05d' '33' → 00033
みたいなゼロ埋めってどのシステムでもサポートされているのかな。
%5dみたいな記述はPOSIXの仕様書に在ったから確実だけど
ゼロ埋めフラグについて何の言及もしてないっぽいんだよね。
%gとかと違って「実装を要求しない」とも言っていないし。
2019/02/15(金) 12:20:14.92ID:8DR6dyZB
あ。自決。
よーく読んでもっつーか普通に書いてあったわ。
よーく読んでもっつーか普通に書いてあったわ。
2019/02/15(金) 23:18:53.00ID:Hwu/ac/i
結論を書いてから死ぬんだ
13デフォルトの名無しさん
2019/02/16(土) 00:07:44.70ID:FAU3Sbcr 自決か・・・
2019/02/16(土) 01:21:53.36ID:SPTGalft
15デフォルトの名無しさん
2019/02/16(土) 01:31:05.83ID:k5VPqkkr シェルスクリプトで数値を扱うのがおかしい。シェルスクリプトは文字として認識しているから、もともと数値の取り扱いは気をつけないといけない。
2019/02/16(土) 01:35:36.86ID:SPTGalft
そんな事言われましても、シェルスクリプトに
数値計算の機能がありますし
数値計算の機能がありますし
17デフォルトの名無しさん
2019/02/16(土) 02:04:59.47ID:k5VPqkkr2019/02/16(土) 06:28:35.63ID:OVG8+uJO
>>14
なんか勘違いしてね?
俺が言ってるのは0フラグ。
pubs.opengroup.org/onlinepubs/9699919799/utilities/printf.html#tag_20_94_13
ちなみにprintf '%b' '\0ddd'はPOSIXでは8進数しか定められてない
のでその「8進数しか受け付けない」システムは正当。
なんか勘違いしてね?
俺が言ってるのは0フラグ。
pubs.opengroup.org/onlinepubs/9699919799/utilities/printf.html#tag_20_94_13
ちなみにprintf '%b' '\0ddd'はPOSIXでは8進数しか定められてない
のでその「8進数しか受け付けない」システムは正当。
2019/02/16(土) 06:29:08.87ID:OVG8+uJO
2019/02/16(土) 06:56:37.82ID:0pA9DINd
もともと
2019/02/16(土) 08:05:07.54ID:SPTGalft
今のシェルスクリプトの話をしろよ
需要に応じて変わるんだよ
需要に応じて変わるんだよ
2019/02/16(土) 14:10:14.71ID:DdK+9zEs
〃〃∩ _, ,_
⊂⌒( つД´) < ヤダヤダ
`ヽ_ ノ ⊂ノ
ジタバタ
⊂⌒( つД´) < ヤダヤダ
`ヽ_ ノ ⊂ノ
ジタバタ
23デフォルトの名無しさん
2019/02/16(土) 15:55:59.02ID:FAU3Sbcr 昔はよく expr コマンドを使ったものぢゃよ
2019/02/16(土) 16:39:46.54ID:MuF4+GQB
exprは(シェルによるけど)grepみたいな正規表現が単語に対して使えるからすごく重宝してた。
でも最近はそもそもそういう非可搬な機能を使うならbashの[[ <str> ~= "/regexp/" ]]でいいやってなってる。
でも最近はそもそもそういう非可搬な機能を使うならbashの[[ <str> ~= "/regexp/" ]]でいいやってなってる。
25デフォルトの名無しさん
2019/02/21(木) 04:12:08.57ID:UnmnTW3q http://mevius.5ch.net/test/read.cgi/tech/1535194140/l50
わざわざひと月経ってから重複立てた理由は?
わざわざひと月経ってから重複立てた理由は?
2019/02/21(木) 04:19:12.64ID:LAfLZLuz
そっちには特定のOSでしか動かないで存在しないのが入ってるからじゃね。特定のOSの板かスレが相応しいのだろう
2019/02/21(木) 04:24:39.60ID:LAfLZLuz
ああ、特定のOSでしかでもないのか。じゃ、すでに専用スレあるのでってとこか。言葉が違うのに混ぜることもないだろしな
2019/02/22(金) 17:45:17.27ID:W8hCm55w
特定のOS?
29デフォルトの名無しさん
2019/02/23(土) 13:42:47.53ID:9pS68leH 月経の文字に反応
2019/02/25(月) 15:22:22.19ID:uN5/G9fw
受け取った文字列が想定しているものかを判定する場合で
「特定の種類の文字のみ構成されている」かを調べる方法として
↓こういうのを考えてみた
test "$VAR" = "${VAR#*[^a-z]}"
成功したらVARは[a-z]のみで構成されているということ。
あと一応POSIX 2018にも準拠してる。
grep(1)などを用いて処理するより早いと思うんだが
最近のPCは処理が速すぎて今一違いが分からんw
「特定の種類の文字のみ構成されている」かを調べる方法として
↓こういうのを考えてみた
test "$VAR" = "${VAR#*[^a-z]}"
成功したらVARは[a-z]のみで構成されているということ。
あと一応POSIX 2018にも準拠してる。
grep(1)などを用いて処理するより早いと思うんだが
最近のPCは処理が速すぎて今一違いが分からんw
2019/02/25(月) 15:46:48.84ID:jjF3mg4o
case $VAR in
*[^a-z]*) ;; # a-z以外の文字がある
*) ;; # a-zのみで構成
esac
でいいやろ?
置換処理しないから更に速いはず
*[^a-z]*) ;; # a-z以外の文字がある
*) ;; # a-zのみで構成
esac
でいいやろ?
置換処理しないから更に速いはず
32デフォルトの名無しさん
2019/03/17(日) 00:42:11.09ID:vYpDkOnV foo() {
echo 1
echo
echo
echo
}
a="$(foo)"
echo "$a"
ってやったら、最後に改行がいくつあっても消えちゃうんだけどさ
aに改行ごと入れる方法ない?bash依存なしで
echo 1
echo
echo
echo
}
a="$(foo)"
echo "$a"
ってやったら、最後に改行がいくつあっても消えちゃうんだけどさ
aに改行ごと入れる方法ない?bash依存なしで
33デフォルトの名無しさん
2019/03/17(日) 01:22:55.25ID:MBTcz8WL2019/03/17(日) 22:55:33.85ID:8/J7EWL3
$ ( a="a,,b,,c"; IFS=","; set -- $a; echo $3; )
b
$ ( a="a b c"; IFS=" "; set -- $a; echo $3; )
c
なんでや?
b
$ ( a="a b c"; IFS=" "; set -- $a; echo $3; )
c
なんでや?
2019/03/17(日) 23:27:41.47ID:uNuvPAZ3
なんでやと言われましても…
2019/03/17(日) 23:50:57.39ID:Y/j3QiNl
空(くう)を理解出来ないタイプの馬鹿って結構いるんだよな
2019/03/17(日) 23:54:01.74ID:8/J7EWL3
スペース か カンマ かによって
挙動が違うっておかしいだろ
挙動が違うっておかしいだろ
2019/03/18(月) 00:09:19.55ID:iRq0tZYn
挙動は同じだけど?
2019/03/18(月) 00:25:52.00ID:Z0jAEi8m
わざわざそうしてるってなんで理解できないんだろかな
2019/03/18(月) 01:57:01.83ID:0Zzw4/NV
2019/03/18(月) 03:19:57.67ID:bAHak1a6
同じ挙動してるじゃん?
2019/03/18(月) 03:38:05.43ID:YXzanjRe
>>40
別人だからな。なんで同一視してんのかわからんな
別人だからな。なんで同一視してんのかわからんな
2019/03/18(月) 03:39:03.36ID:0Zzw4/NV
あぁ、ブラウザで見るとスペースが1個になるのねw
$ ( a="a<カンマ2個>b<カンマ2個>c"; IFS=","; set -- $a; echo $3; )
b
$ ( a="a<スペース2個>b<スペース2個>c"; IFS=" "; set -- $a; echo $3; )
c
これで意味分かるやろ?
<カンマ2個>は ,, のこと
<スペース2個> も同様
$ ( a="a<カンマ2個>b<カンマ2個>c"; IFS=","; set -- $a; echo $3; )
b
$ ( a="a<スペース2個>b<スペース2個>c"; IFS=" "; set -- $a; echo $3; )
c
これで意味分かるやろ?
<カンマ2個>は ,, のこと
<スペース2個> も同様
2019/03/18(月) 03:41:08.39ID:YXzanjRe
2019/03/21(木) 19:54:41.91ID:jzAF3+In
あからさまに挙動見て仕様 理解できないとか・・・
2019/03/21(木) 22:56:46.84ID:RZb/N1K/
シェルスクリプトにヒアドキュメントって
"HERE" でも 'HERE' でも変数展開行われないのか・・・
"HERE" は HERE と同じだと思っていた
"HERE" でも 'HERE' でも変数展開行われないのか・・・
"HERE" は HERE と同じだと思っていた
2019/03/21(木) 23:25:35.49ID:bEjwjHsM
なんで展開されると思えるのか、そこが少し不思議
2019/03/22(金) 02:16:32.57ID:xgV52nBe
>>47
シェルスクリプトだけじゃなくて、他の言語も勉強するといいですよ
シェルスクリプトだけじゃなくて、他の言語も勉強するといいですよ
2019/03/22(金) 03:13:10.80ID:eOBuYNEJ
>>48
なんで俺に?
なんで俺に?
50デフォルトの名無しさん
2019/03/22(金) 06:47:12.77ID:aoKwVDMo > If no part of word is quoted, all lines of the here-document shall be expanded for parameter expansion, command substitution, and arithmetic expansion.
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_07_04
\HERE とか
HE"R"E とか
""HERE でもいいんだな
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_07_04
\HERE とか
HE"R"E とか
""HERE でもいいんだな
2019/03/22(金) 11:57:50.97ID:g5h3mGP7
a = <<"EOT"
あ
EOT
Ruby では、" " なら、バックスラッシュ・式展開が使える。
' ' なら使えない
あ
EOT
Ruby では、" " なら、バックスラッシュ・式展開が使える。
' ' なら使えない
2019/03/22(金) 12:46:19.30ID:eOBuYNEJ
ヒアの中身の話をしてるんじゃないのか?
なんだかrubyとかやってる人ってとんちんかんな人多いよなあ
なんだかrubyとかやってる人ってとんちんかんな人多いよなあ
2019/03/22(金) 14:48:23.02ID:HU9xhxJ/
2019/03/22(金) 20:16:49.37ID:eOBuYNEJ
2019/03/22(金) 22:38:33.79ID:z9ChYb8e
あー、もしかして、ヒアドキュメントが
他の言語にもあるって知らない人かな?
もう少し勉強したほうが良いよ
他の言語にもあるって知らない人かな?
もう少し勉強したほうが良いよ
2019/03/22(金) 23:03:22.48ID:u7m3wqcd
スレタイ読めない人がいるな
2019/03/22(金) 23:42:28.23ID:HU9xhxJ/
この件は別に他の言語での知識経験から故にで全然おかしくないだろう
単にそう思ったのはそうだったのかで済む話でしかないだろうに。何を拘っているんだか
単にそう思ったのはそうだったのかで済む話でしかないだろうに。何を拘っているんだか
2019/03/22(金) 23:44:22.75ID:eOBuYNEJ
環境によって頭を切り替えられない馬鹿だという告白ってこと?
それならまあ納得なのだが。
それならまあ納得なのだが。
2019/03/22(金) 23:48:13.41ID:HU9xhxJ/
なにを言っているんだか。単に「よく」調べないで経験則で思い込んでいたってだけだろう。そういう人もいてもおかしくはないだろう
誰かのように、どうも最初から馬鹿にしたいだけなら違うんだろうけどな
誰かのように、どうも最初から馬鹿にしたいだけなら違うんだろうけどな
2019/03/23(土) 11:21:25.87ID:V0vJvcu9
「普通は」他の言語の知識があるわけで、
他の言語がそうだったから、シェルスクリプトでもそうだと
思ったのに違っていて驚いたってだけの話だろ
なんで言語が変わったら、0から言語仕様を勉強します。
以前の言語の知識は全て捨てて、最初から学び直しますってなるんだ?
文法は「知らない」 or 「間違いなく知ってる」 のどちらかしか無いはずなんです。
「他の言語がそうだったから、同じだろう」なんて思うやつなんてありえないんです。
そう考えてるのか?そんなやついないだろ。
他の言語がそうだったから、シェルスクリプトでもそうだと
思ったのに違っていて驚いたってだけの話だろ
なんで言語が変わったら、0から言語仕様を勉強します。
以前の言語の知識は全て捨てて、最初から学び直しますってなるんだ?
文法は「知らない」 or 「間違いなく知ってる」 のどちらかしか無いはずなんです。
「他の言語がそうだったから、同じだろう」なんて思うやつなんてありえないんです。
そう考えてるのか?そんなやついないだろ。
2019/03/23(土) 12:19:57.25ID:O+DUttYl
/\___/\
/ / ヽ ::: \
| (●), 、(●)、 | / ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ,,ノ(、_, )ヽ、,, | < まーたはじまった
| ,;‐=‐ヽ .:::::| \_______
\ `ニニ´ .:::/
/`ー‐--‐‐―´´\
/ / ヽ ::: \
| (●), 、(●)、 | / ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ,,ノ(、_, )ヽ、,, | < まーたはじまった
| ,;‐=‐ヽ .:::::| \_______
\ `ニニ´ .:::/
/`ー‐--‐‐―´´\
2019/03/23(土) 12:27:43.57ID:daYwWoP0
2019/03/23(土) 13:51:52.81ID:V0vJvcu9
1. シェルスクリプトの仕様に文句言われて悔しい
2. 俺にとっての常識が、井の中の蛙だとばれて悔しい
どっちか
2. 俺にとっての常識が、井の中の蛙だとばれて悔しい
どっちか
2019/03/23(土) 14:29:37.54ID:daYwWoP0
いやいやw君がなんだか。なにその読めなさはwずっと同じ人?
2019/03/23(土) 14:39:44.63ID:q0JuU/5a
2019/03/23(土) 14:42:21.52ID:V0vJvcu9
俺が>>46なんだが?
2019/03/23(土) 14:51:13.97ID:daYwWoP0
>>66
えーっ、おれが馬鹿を晒してしまったやんけっ
なにを長文で、わかりづらいネチっこい最後の部分。あんたのスタンスなんぞがわかっているのが居るんだからなにをわざわざな...もう
まあ、すまんかった、いろいろと
えーっ、おれが馬鹿を晒してしまったやんけっ
なにを長文で、わかりづらいネチっこい最後の部分。あんたのスタンスなんぞがわかっているのが居るんだからなにをわざわざな...もう
まあ、すまんかった、いろいろと
2019/03/23(土) 16:37:26.87ID:q0JuU/5a
>>66
だからだよw
だからだよw
2019/03/23(土) 18:12:02.34ID:V0vJvcu9
理由が書いてないものに意味はないよ。
ばーかばーかっていってるのと同じだからね
ばーかばーかっていってるのと同じだからね
2019/03/23(土) 22:04:19.40ID:x8gXkLwZ
Rubyさいこおおおおおおお
シェルはほろびろおおおお
シェルはほろびろおおおお
2019/03/23(土) 23:36:39.28ID:xoOtakOI
やれやれ、延長戦か。昨日ので終わってれば普通のまともな人に見えたのに。
2019/03/24(日) 11:30:58.75ID:WkQ3cHj8
ジョブって使ったことあります?
fgとかbgぐらいはあると思うんですが、
そういうのってコマンドラインじゃなくて
シェルスクリプトで使うことって考えられますかね?
fgとかbgぐらいはあると思うんですが、
そういうのってコマンドラインじゃなくて
シェルスクリプトで使うことって考えられますかね?
2019/03/25(月) 08:32:22.35ID:Gker1m8S
俺はないけど
単に経験が浅いだけかも知れない
ただ,似非の非同期処理として,ネットワーク資源をwgetなんかで取得しているジョブと同時に
その資源に依存しない種々の作業を同時に実行して,
その資源が必要になった段階でwaitコマンドでwgetの終了を待つ,
みたいなことはよくやる。
単に経験が浅いだけかも知れない
ただ,似非の非同期処理として,ネットワーク資源をwgetなんかで取得しているジョブと同時に
その資源に依存しない種々の作業を同時に実行して,
その資源が必要になった段階でwaitコマンドでwgetの終了を待つ,
みたいなことはよくやる。
2019/03/29(金) 07:25:41.51ID:KhBeLwdl
USR1シグナルって受け取ったら
trapしてても死んじゃうの?
trapしてても死んじゃうの?
2019/03/29(金) 08:09:44.39ID:iZJL5S3u
いいや
シグナルに対してハンドラが無い場合死ぬのであって、trapしてんだか死なない
シグナルに対してハンドラが無い場合死ぬのであって、trapしてんだか死なない
2019/03/29(金) 10:51:28.75ID:KhBeLwdl
いや死ぬんだが? これ実行してみ
[main.sh]
#!/bin/sh
trap 'echo USR1' USR1
for i in $(seq 1 10); do
./child.sh "$$" &
done
wait
[child.sh]
#!/bin/sh
sleep 0.1
kill -USR1 "$1"
[main.sh]
#!/bin/sh
trap 'echo USR1' USR1
for i in $(seq 1 10); do
./child.sh "$$" &
done
wait
[child.sh]
#!/bin/sh
sleep 0.1
kill -USR1 "$1"
2019/03/29(金) 14:30:15.21ID:iZJL5S3u
ただの正常終了、main.sh処理全部終わりましたでしょがー
意図した動きになるようには書いてないだけでしょう
意図した動きになるようには書いてないだけでしょう
2019/03/29(金) 15:51:57.16ID:KhBeLwdl
>>77
実行すらしてないようだから、実行結果書いておきますねw
$ ./main.sh
USR1
USR1
$ ./child.sh: 4: kill: No such process
./child.sh: 4: kill: No such process
./child.sh: 4: kill: No such process
./child.sh: 4: kill: No such process
./child.sh: 4: kill: No such process
./child.sh: 4: kill: No such process
実行すらしてないようだから、実行結果書いておきますねw
$ ./main.sh
USR1
USR1
$ ./child.sh: 4: kill: No such process
./child.sh: 4: kill: No such process
./child.sh: 4: kill: No such process
./child.sh: 4: kill: No such process
./child.sh: 4: kill: No such process
./child.sh: 4: kill: No such process
2019/03/29(金) 16:03:50.50ID:iZJL5S3u
なにそれ。性根の悪いヤツだな
man bashでwait及びシグナルんとこ読みなさい
man bashでwait及びシグナルんとこ読みなさい
2019/03/29(金) 16:07:09.38ID:KhBeLwdl
>>79
はいどうぞ。
wait [n ...]
n が与え
られていない場合には、現在アクティブな全ての子プロセスを wait し、 返却ステータスは 0 となります。
疑問点があれば受け付けますよ?
はいどうぞ。
wait [n ...]
n が与え
られていない場合には、現在アクティブな全ての子プロセスを wait し、 返却ステータスは 0 となります。
疑問点があれば受け付けますよ?
2019/03/29(金) 16:08:06.24ID:iZJL5S3u
なんか続きそうでメンドくさくなった
ただの正常終了、「main.sh処理全部終わりました」
だよ。
wait
じゃなくて
until wait
do
:
done
とかだろう。どう意図した動きにしたいのか知らんけど、間違いは
ただの正常終了、「main.sh処理全部終わりました」
だよ。
wait
じゃなくて
until wait
do
:
done
とかだろう。どう意図した動きにしたいのか知らんけど、間違いは
2019/03/29(金) 16:08:42.72ID:iZJL5S3u
マジで性根の悪いヤツだった。言ったことやってから言えよな、もう
2019/03/29(金) 16:13:17.88ID:KhBeLwdl
> 言ったこと
ってどれ?w
ってどれ?w
2019/03/29(金) 16:16:44.69ID:iZJL5S3u
「シグナルんとこ読みなさい」だよ。くそがw
よく笑ってるな。まじでなんなん?ただのプライドが高いアレか
よく笑ってるな。まじでなんなん?ただのプライドが高いアレか
2019/03/29(金) 23:35:25.52ID:6TL4Muj2
どこまで本気なのかなあ。
小学生が頭の悪そうななぞなぞで得意がってるとか、そういう雰囲気を感じる。
とりあえず
「シグナルで死んだんなら、なんで echo が実行されてんだよ!」
とつっこんでおくよ。
小学生が頭の悪そうななぞなぞで得意がってるとか、そういう雰囲気を感じる。
とりあえず
「シグナルで死んだんなら、なんで echo が実行されてんだよ!」
とつっこんでおくよ。
86デフォルトの名無しさん
2019/03/30(土) 15:21:37.81ID:iJ+PacLA シグナルで死んでるんじゃなくて全てのプロセスが終了する前に wait から抜けちゃうってことだな。
理由はシグナル受け取っているからだが。
理由はシグナル受け取っているからだが。
2019/03/30(土) 23:21:26.53ID:s3xILrfA
Ruby のSignal モジュールを使え
割り込み : Ctrl + C
Signal.trap("INT") { |signo| puts Signal.signame(signo) }
Process.kill("INT", 0)
割り込み : Ctrl + C
Signal.trap("INT") { |signo| puts Signal.signame(signo) }
Process.kill("INT", 0)
2019/03/30(土) 23:27:14.67ID:VjxmND9i
スレ違い
2019/03/31(日) 06:29:53.92ID:QZIPpnnl
ちゅうかお題違い
2019/04/01(月) 01:31:26.57ID:IKNNLLYB
for i in *; do
echo "$i"
done
これって必ずソートされるの?
echo "$i"
done
これって必ずソートされるの?
2019/04/01(月) 01:55:34.42ID:dFHstMQf
POSIXでソートすることになってる
2019/04/01(月) 08:49:30.39ID:IKNNLLYB
へー、取得したいのは最初の一個だけでいいんだけど、
その最初の一個は、小さいものになるんか
というか、一個だけ取得する速い方法ないかな?
でもソートしてるなら、結局内部で全部読み込むのか?
その最初の一個は、小さいものになるんか
というか、一個だけ取得する速い方法ないかな?
でもソートしてるなら、結局内部で全部読み込むのか?
2019/04/01(月) 09:43:29.00ID:NOgINnam
へんなの居付いたな
2019/04/01(月) 10:02:05.99ID:IKNNLLYB
そりゃ俺が立てたスレだしなー
2019/04/01(月) 10:28:36.49ID:ifPcZP08
ls -1U とか?
2019/04/04(木) 00:24:00.86ID:opkeFDjY
1.txt, 2.txt, 3.txt と3つファイルがあるディレクトリでecho * したら
これらのファイルがでてくるのに空のディレクトリで、
echo * したら * と表示されるのなんで?
何も表示されないでほしいんだけど、この仕様、なにか便利なの?
これらのファイルがでてくるのに空のディレクトリで、
echo * したら * と表示されるのなんで?
何も表示されないでほしいんだけど、この仕様、なにか便利なの?
2019/04/04(木) 03:15:34.42ID:7s/hio3T
echoがやってるんじゃないし...
2019/04/04(木) 03:21:22.66ID:xQGJKB0I
エコーさんはね、もらったものをエコーするだけだってね、ママがいってたの
2019/04/04(木) 04:46:21.43ID:19nHnpBp
cat *
とかで困るだろうに
とかで困るだろうに
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- アメリカ議会 「中国が台湾武力侵攻する準備を急速進展中」 ★3 [お断り★]
- 外国人の犯罪率は日本人の1.72倍 警察庁が短期滞在者除いた数字を参院内閣委で答弁 [七波羅探題★]
- 【高市自民】中国軍SNS 高市首相に怖すぎる地獄絵で警告、火の海の靖国神社「自ら墓穴を掘り、戻れない道へ進む」 [夜のけいちゃん★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★9 [樽悶★]
- 「ドラゴンボール」初の全世界キャラクター人気投票が開幕!212キャラからナンバーワンが決まる!! [ひかり★]
- 【速報】公然わいせつの疑いで逮捕・送検・略式起訴のAぇ! group 草間リチャード敬太メンバー 脱退を発表 「心の病の療養」に専念 [Ailuropoda melanoleuca★]
- 【憲法改正】起草委員会、設置へ [476729448]
- 3K新聞「高市首相「馬車馬」の1カ月…宿舎で猛勉強、外交乗り切る 会食なく睡眠不足、心配の声も」 [834922174]
- 【35🌸専】なんG さくらみこ桃鉄配信実況スレ🏡【ホロライブ▶】
- 真面目な話、支那はもう台湾侵攻寸前なんだろ。高市さんはあえて言ったんじゃないか [308389511]
- 存在は知ってるけど入った事の無いチェーン店「不二家レストラン」の魅力…誰も語れない [152212454]
- 【画像】チョコプラのYoutubeチャンネル、コメント欄がとんでもないことになるwwwwwwwww
