シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
前スレ:
シェルスクリプト総合 その28
http://mevius.5ch.net/test/read.cgi/tech/1532397676/
シェルスクリプト総合 その29
■ このスレッドは過去ログ倉庫に格納されています
2018/09/21(金) 23:34:47.98ID:/eJt2TVD
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 *
とかで困るだろうに
とかで困るだろうに
100デフォルトの名無しさん
2019/04/04(木) 11:44:59.87ID:opkeFDjY echoがやってるかどうかは論点じゃないしw
101デフォルトの名無しさん
2019/04/04(木) 13:06:19.36ID:/xpppM3k いや、重要だぞ。何の man を読めばいいかというのは。読む気があればね。
102デフォルトの名無しさん
2019/04/04(木) 14:25:13.45ID:opkeFDjY それで質問の答は?
103デフォルトの名無しさん
2019/04/04(木) 15:00:27.41ID:19nHnpBp 答えはmanに書いてある。なんでかは「読まなければならない」けど
104デフォルトの名無しさん
2019/04/04(木) 15:08:08.53ID:vligoyoR >>102
echo は渡された文字列をそのまま出力する仕様なので、* を渡されたら * が出力される。というのが回答だよ。
echo は渡された文字列をそのまま出力する仕様なので、* を渡されたら * が出力される。というのが回答だよ。
105デフォルトの名無しさん
2019/04/04(木) 16:46:44.95ID:/xpppM3k まあ、「'*' はいらない」というのももっともなことだしね。
bash を使ってるなら man の「パス名展開」の項を読めばいいかも。
bash じゃない場合は…読めばなんとかなるでしょ。
bash を使ってるなら man の「パス名展開」の項を読めばいいかも。
bash じゃない場合は…読めばなんとかなるでしょ。
106デフォルトの名無しさん
2019/04/04(木) 16:53:45.66ID:19nHnpBp いらないからいる(?)になってるんだけどね。それもそうmanに書いてある
107デフォルトの名無しさん
2019/04/04(木) 17:59:04.72ID:opkeFDjY108デフォルトの名無しさん
2019/04/04(木) 18:17:25.75ID:19nHnpBp だからmanに書いてあるってw
109デフォルトの名無しさん
2019/04/04(木) 19:15:53.98ID:opkeFDjY 書いてないから聞いてる
110デフォルトの名無しさん
2019/04/04(木) 19:20:19.17ID:19nHnpBp 書いてあるんだなあ。書いてないんじゃなくて探してないだな
111デフォルトの名無しさん
2019/04/04(木) 19:23:19.35ID:opkeFDjY 最近、無いものをあると言いはるのが増えてるのか?
無いものはいくら探してもないし、
有るならさっと出すことぐらいできるだろ
無いものはいくら探してもないし、
有るならさっと出すことぐらいできるだろ
112デフォルトの名無しさん
2019/04/04(木) 19:24:58.44ID:19nHnpBp なんかいたね、ちょっと前のシグナルの質問してたのとか
煽って自分では労力さかずに答え出させようしてんの?w
煽って自分では労力さかずに答え出させようしてんの?w
113デフォルトの名無しさん
2019/04/04(木) 19:30:55.71ID:opkeFDjY んで答えは?w
114デフォルトの名無しさん
2019/04/04(木) 19:31:22.20ID:19nHnpBp manに書いてあるw
115デフォルトの名無しさん
2019/04/04(木) 20:09:11.90ID:opkeFDjY 書いてない
116デフォルトの名無しさん
2019/04/04(木) 20:21:01.39ID:19nHnpBp マンザイとしてはそれはないな。オモロクないやん、マンザイとして。いい感じだったのにw
その言い張り方が、なんか既視感ありすぎ。そしてよく「言いはるのが増えてるのか」なんて言えるなあ
まあ、ふんわりとした答えは>>99で答えてるんだけどね。それはmanに書いてた説明からだよ
ところでOSなに使ってるの?
その言い張り方が、なんか既視感ありすぎ。そしてよく「言いはるのが増えてるのか」なんて言えるなあ
まあ、ふんわりとした答えは>>99で答えてるんだけどね。それはmanに書いてた説明からだよ
ところでOSなに使ってるの?
117デフォルトの名無しさん
2019/04/04(木) 20:24:57.07ID:opkeFDjY catが困るのは、単にcatの仕様がクソってだけだろう
標準入力から読み込むためのオプションの - があるのに、
引数なしだと標準入力から読み込もうとするわけだから
標準入力から読み込むためのオプションの - があるのに、
引数なしだと標準入力から読み込もうとするわけだから
118デフォルトの名無しさん
2019/04/04(木) 20:28:22.13ID:19nHnpBp 浅いな、catは一例なのに
そのやたらプライド高そうだけど、全然そのプライドを裏付けるもの無いから、こんなことになってんやで?まあ、プライド高いから言ってもわからんだろけど
ちなみに、'*'でなくて''でもよさげなんだけど、'*'の方がやっぱりいいんだな(と、思う。そう具体的に書いてない、''に言及してはいないけど)。さて、どうしてでしょう?
そのやたらプライド高そうだけど、全然そのプライドを裏付けるもの無いから、こんなことになってんやで?まあ、プライド高いから言ってもわからんだろけど
ちなみに、'*'でなくて''でもよさげなんだけど、'*'の方がやっぱりいいんだな(と、思う。そう具体的に書いてない、''に言及してはいないけど)。さて、どうしてでしょう?
119デフォルトの名無しさん
2019/04/04(木) 20:45:06.72ID:opkeFDjY > さて、どうしてでしょう?
お前にその答えが言えんの? *の方が良いと思ってるようだが、
正確にはディレクトリが空の時に帰ってくるのは、正確には*じゃないんだが
お前にその答えが言えんの? *の方が良いと思ってるようだが、
正確にはディレクトリが空の時に帰ってくるのは、正確には*じゃないんだが
120デフォルトの名無しさん
2019/04/04(木) 20:49:41.59ID:19nHnpBp うん、>>117なんて宣える人にそう言われてたくないけど。やっぱ想像はつかないのね。なのになんで疑われているのかさっぱり。また煽って喋らせる手法?w
正確にはってのはイミフ。なんの正確?なにを言いたいのかイミフだがほぼデフォルトの環境ではそうだよ、てか、そう決められているはずなんだがなあ
正確にはってのはイミフ。なんの正確?なにを言いたいのかイミフだがほぼデフォルトの環境ではそうだよ、てか、そう決められているはずなんだがなあ
121デフォルトの名無しさん
2019/04/04(木) 20:54:08.11ID:opkeFDjY 聞いてるのは、決められているかどうかじゃなくて
なぜそういう風に決めたかだって言ってるだろ
なぜそういう風に決めたかだって言ってるだろ
122デフォルトの名無しさん
2019/04/04(木) 20:55:07.83ID:opkeFDjY だいたい、俺の想像していることがわかってない時点で
お前はダメダメなんやで?わかってるか?
俺の想像していることぐらい読み取れ!
お前はダメダメなんやで?わかってるか?
俺の想像していることぐらい読み取れ!
123デフォルトの名無しさん
2019/04/04(木) 20:56:45.08ID:opkeFDjY ディレクトリが空の時に帰ってくるのは * ではありません。
echo ? だと ? が帰ってきます。
echo ? だと ? が帰ってきます。
124デフォルトの名無しさん
2019/04/04(木) 20:58:07.29ID:opkeFDjY echo *[a-z]* だと *[a-z]* が帰ってきますが、
さて、このディレクトリは空でしょうか?
それとも *[a-z]* という名前のファイルがあるのでしょうか?
さて、このディレクトリは空でしょうか?
それとも *[a-z]* という名前のファイルがあるのでしょうか?
125デフォルトの名無しさん
2019/04/04(木) 20:58:24.17ID:19nHnpBp だから、なぜそういう風に決められたかっていうことをずーーっと言っているんだけど?
あんたが自分勝手な自分だけの思いで自分の考えに固執してるから先に進んでないんだけなのに。既視感ありまくりw
'*'の方がいいとまでちょっと進んで言っているのに聞かないで反発してるだけだし。答えは書いてある。さあ、理解に向けて進んでみようw
あんたが自分勝手な自分だけの思いで自分の考えに固執してるから先に進んでないんだけなのに。既視感ありまくりw
'*'の方がいいとまでちょっと進んで言っているのに聞かないで反発してるだけだし。答えは書いてある。さあ、理解に向けて進んでみようw
126デフォルトの名無しさん
2019/04/04(木) 21:02:36.29ID:19nHnpBp >>123,124
そりゃそうだ。根本的に勘違いしてる。*なんだから'*'、?なんだから'?'、[a-z]*なんだから'[a-z]*'でしょに。なにを言っているのだか
なんで、ますますプライドを裏打ちするものが無いって自ら開陳するかなあ。捨てなその意味ないプライドは。文字通りプライドが邪魔する(意味が違うか?w)でしょうに
そりゃそうだ。根本的に勘違いしてる。*なんだから'*'、?なんだから'?'、[a-z]*なんだから'[a-z]*'でしょに。なにを言っているのだか
なんで、ますますプライドを裏打ちするものが無いって自ら開陳するかなあ。捨てなその意味ないプライドは。文字通りプライドが邪魔する(意味が違うか?w)でしょうに
127デフォルトの名無しさん
2019/04/04(木) 21:04:35.03ID:7s/hio3T128デフォルトの名無しさん
2019/04/04(木) 21:04:35.25ID:opkeFDjY だから答えは書いてないって言ってるだろ
いい加減、悪魔の証明は辞めてくれ。
無いものは無い。無いという証拠を見つけられないなら
悪魔はいるってことだ!←ほんと馬鹿みたいだ
いい加減、悪魔の証明は辞めてくれ。
無いものは無い。無いという証拠を見つけられないなら
悪魔はいるってことだ!←ほんと馬鹿みたいだ
129デフォルトの名無しさん
2019/04/04(木) 21:07:34.48ID:19nHnpBp 答えは書いてあるよ。ふんわりと。あんたに理解できるようには書いてないかもだけどwいや、プライド高いお人だからわかると思うんだけどということでw
悪魔の証明でもなんでもないのになあ。なんとか言わせたくて必死な感じ?通用しないよ何度もはw
悪魔の証明でもなんでもないのになあ。なんとか言わせたくて必死な感じ?通用しないよ何度もはw
130デフォルトの名無しさん
2019/04/04(木) 21:08:58.45ID:opkeFDjY ※書いてないから、言えないのです
131デフォルトの名無しさん
2019/04/04(木) 21:09:37.50ID:19nHnpBp132デフォルトの名無しさん
2019/04/04(木) 21:11:14.30ID:19nHnpBp >>130
そんなあけすけな手にはのらないww
そんなあけすけな手にはのらないww
133デフォルトの名無しさん
2019/04/04(木) 21:46:57.92ID:gljFUA1G もうどっちがどっちなのか分からんけど
グロブに関する疑問なら答えられそうなので,
最初の質問を教えてくれ。
グロブに関する疑問なら答えられそうなので,
最初の質問を教えてくれ。
134デフォルトの名無しさん
2019/04/04(木) 21:49:48.14ID:19nHnpBp ありゃりゃ。終わっちゃうかっw
親切だな。まあいいことだけど。ヤツにとっていいこととは思えないけど(余計なお世話)
親切だな。まあいいことだけど。ヤツにとっていいこととは思えないけど(余計なお世話)
135デフォルトの名無しさん
2019/04/04(木) 21:52:55.41ID:19nHnpBp136デフォルトの名無しさん
2019/04/04(木) 22:06:28.63ID:opkeFDjY137デフォルトの名無しさん
2019/04/04(木) 22:52:03.02ID:opkeFDjY ありゃ? もうすぐ答え出るかと思ってひとっ風呂浴びてきたんだが
まだでてないや。誰か曰くmanに書いてあるらしいから
知らなくても答える気があるなら、答えられるはずなんだけどなー
な?書いてないだろ?
まだでてないや。誰か曰くmanに書いてあるらしいから
知らなくても答える気があるなら、答えられるはずなんだけどなー
な?書いてないだろ?
138デフォルトの名無しさん
2019/04/04(木) 22:55:28.86ID:19nHnpBp そこまで言い張ってあったらどうすの?いやあるんだけど
黙って逃げるだけの未来しか見えないw
黙って逃げるだけの未来しか見えないw
139デフォルトの名無しさん
2019/04/04(木) 23:03:19.00ID:opkeFDjY じゃあ先に答えを言ってくれた人へ
ありがとう
これでもう黙って逃げるだけの未来はなくなりました。
ありがとう
これでもう黙って逃げるだけの未来はなくなりました。
140デフォルトの名無しさん
2019/04/04(木) 23:04:43.01ID:19nHnpBp141デフォルトの名無しさん
2019/04/04(木) 23:10:20.77ID:opkeFDjY 書いてある内容をコピペすりゃ終わりなのに
長引かせてるのはお前やで?
長引かせてるのはお前やで?
142デフォルトの名無しさん
2019/04/04(木) 23:13:02.33ID:19nHnpBp そうだよ?言われなくても、そうだよ?(すでに>>131で書いてあるやん?w)
なにを急に言い出してるの?それもあんたも律儀にレスしてんのに
なにを急に言い出してるの?それもあんたも律儀にレスしてんのに
143デフォルトの名無しさん
2019/04/04(木) 23:14:01.18ID:opkeFDjY 自信満々に荒らし宣言w
144デフォルトの名無しさん
2019/04/04(木) 23:17:24.59ID:19nHnpBp いやいや、それを言うならあんたもだって。なんだかなあ。それに俺はちゃんと答えている(ふんわりと)、それにあーだこーだ言っているのはあんたなんですけど?どっちがよりでしょうねえ?
第三者から荒らしと言われてもしょうがないかと思うが、あんたが言い出すとは、まあ、先の「言い張る〜」と同じパターンやね
てかさ、せっかく>>133が出てきたのにそうやってなぜ流すようなことすんの?w
第三者から荒らしと言われてもしょうがないかと思うが、あんたが言い出すとは、まあ、先の「言い張る〜」と同じパターンやね
てかさ、せっかく>>133が出てきたのにそうやってなぜ流すようなことすんの?w
145デフォルトの名無しさん
2019/04/05(金) 11:46:05.38ID:zBV/1Std >>133
待ってますよ
待ってますよ
146デフォルトの名無しさん
2019/04/07(日) 10:20:38.47ID:eWoMr/0V >>133
まだですか?
まだですか?
147デフォルトの名無しさん
2019/04/08(月) 15:20:56.18ID:NNFII5Ih 横からだけど面倒臭いから答えを書いとくよ
bash なら man bash の Pathname Expansion に書かれてるから、それをちゃんと読んでから質問してね。
bash なら man bash の Pathname Expansion に書かれてるから、それをちゃんと読んでから質問してね。
148デフォルトの名無しさん
2019/04/08(月) 15:59:00.29ID:3hZl3Wdo >>147
そこに「なぜ*を返すことにしたのかという理由」は書いてないって言うのが面倒だから、ソースとGoogle翻訳貼り付けるわ
https://git.savannah.gnu.org/cgit/bash.git/tree/doc/bashref.info#n2116
*パターンマッチング::シェルがパターンをどのようにマッチングするか。
単語分割後、 '-f'オプションが設定されていない限り(* Set The Builtin::)、Bashは各単語をスキャンして文字 '*'、 '?'、および '['を探します。
これらの文字の1つが現れると、その単語はPATTERNと見なされ、パターンと一致するファイル名のアルファベット順にソートされたリストに置き換えられます(* Pattern Matching::)。
一致するファイル名が見つからず、シェルオプション 'nullglob'が無効の場合、単語は変更されません。
'nullglob'オプションが設定されていて、一致が見つからない場合、その単語は削除されます。
'failglob'シェルオプションが設定されていて、一致するものが見つからなかった場合、エラーメッセージが表示され、コマンドは実行されません。
シェルオプション 'nocaseglob'が有効になっている場合、アルファベット文字の大文字と小文字を区別せずに照合が実行されます。
パターンがファイル名展開に使用されるとき、文字 '。' シェルオプション 'dotglob'が設定されていない限り、ファイル名の先頭またはスラッシュの直後に明示的にマッチしなければなりません。
ファイル名 '。' 'dotglob'が設定されていても、 '..'は常に明示的に一致しなければなりません。
それ以外の場合は、「。」 文字は特別扱いされません。
ファイル名を一致させる場合、スラッシュ文字は常にパターン内のスラッシュと明示的に一致させる必要がありますが、
他の一致コンテキストでは、後述のように特殊なパターン文字と一致させることができます。
そこに「なぜ*を返すことにしたのかという理由」は書いてないって言うのが面倒だから、ソースとGoogle翻訳貼り付けるわ
https://git.savannah.gnu.org/cgit/bash.git/tree/doc/bashref.info#n2116
*パターンマッチング::シェルがパターンをどのようにマッチングするか。
単語分割後、 '-f'オプションが設定されていない限り(* Set The Builtin::)、Bashは各単語をスキャンして文字 '*'、 '?'、および '['を探します。
これらの文字の1つが現れると、その単語はPATTERNと見なされ、パターンと一致するファイル名のアルファベット順にソートされたリストに置き換えられます(* Pattern Matching::)。
一致するファイル名が見つからず、シェルオプション 'nullglob'が無効の場合、単語は変更されません。
'nullglob'オプションが設定されていて、一致が見つからない場合、その単語は削除されます。
'failglob'シェルオプションが設定されていて、一致するものが見つからなかった場合、エラーメッセージが表示され、コマンドは実行されません。
シェルオプション 'nocaseglob'が有効になっている場合、アルファベット文字の大文字と小文字を区別せずに照合が実行されます。
パターンがファイル名展開に使用されるとき、文字 '。' シェルオプション 'dotglob'が設定されていない限り、ファイル名の先頭またはスラッシュの直後に明示的にマッチしなければなりません。
ファイル名 '。' 'dotglob'が設定されていても、 '..'は常に明示的に一致しなければなりません。
それ以外の場合は、「。」 文字は特別扱いされません。
ファイル名を一致させる場合、スラッシュ文字は常にパターン内のスラッシュと明示的に一致させる必要がありますが、
他の一致コンテキストでは、後述のように特殊なパターン文字と一致させることができます。
149デフォルトの名無しさん
2019/04/08(月) 15:59:15.40ID:3hZl3Wdo nocaseglob'、 'nullglob'、 'failglob'、および 'dotglob'オプションの説明については、* note The Shopt Builtin ::の 'shopt'の説明を参照してください。
'GLOBIGNORE'シェル変数はパターンにマッチするファイル名のセットを制限するために使用されるかもしれません。
「GLOBIGNORE」が設定されている場合、「GLOBIGNORE」のパターンの1つとも一致する各一致ファイル名は、一致リストから削除されます。
'nocaseglob'オプションが設定されている場合、 'GLOBIGNORE'のパターンとのマッチングは大文字小文字の区別なしに実行されます。
ファイル名 '。' 'GLOBIGNORE'が設定されていてヌルでない場合は、 '..'は常に無視されます。
ただし、 'GLOBIGNORE'をNULL以外の値に設定すると、 'dotglob'シェルオプションが有効になるので、他のすべてのファイル名は '。'で始まります。 一致します。
'。'で始まるファイル名を無視するという古い動作をするには、 '。*'を 'GLOBIGNORE'のパターンの1つにします。
'GLOBIGNORE'が設定されていない場合、 'dotglob'オプションは無効になります。
'GLOBIGNORE'シェル変数はパターンにマッチするファイル名のセットを制限するために使用されるかもしれません。
「GLOBIGNORE」が設定されている場合、「GLOBIGNORE」のパターンの1つとも一致する各一致ファイル名は、一致リストから削除されます。
'nocaseglob'オプションが設定されている場合、 'GLOBIGNORE'のパターンとのマッチングは大文字小文字の区別なしに実行されます。
ファイル名 '。' 'GLOBIGNORE'が設定されていてヌルでない場合は、 '..'は常に無視されます。
ただし、 'GLOBIGNORE'をNULL以外の値に設定すると、 'dotglob'シェルオプションが有効になるので、他のすべてのファイル名は '。'で始まります。 一致します。
'。'で始まるファイル名を無視するという古い動作をするには、 '。*'を 'GLOBIGNORE'のパターンの1つにします。
'GLOBIGNORE'が設定されていない場合、 'dotglob'オプションは無効になります。
150デフォルトの名無しさん
2019/04/08(月) 16:53:14.39ID:6GvfotlI 存在する機能の説明なのでその機能について説明しているだけかなと
151デフォルトの名無しさん
2019/04/08(月) 16:56:27.29ID:3hZl3Wdo 133 名前:デフォルトの名無しさん[sage] 投稿日:2019/04/04(木) 21:46:57.92 ID:gljFUA1G
もうどっちがどっちなのか分からんけど
グロブに関する疑問なら答えられそうなので,
最初の質問を教えてくれ。
136 自分:デフォルトの名無しさん[sage] 投稿日:2019/04/04(木) 22:06:28.63 ID:opkeFDjY [17/21]
>>133
echo * (別にechoである必要はない)で
ファイルが見つからない時になぜ * を返すのか?
そういう仕様にした理由
もうどっちがどっちなのか分からんけど
グロブに関する疑問なら答えられそうなので,
最初の質問を教えてくれ。
136 自分:デフォルトの名無しさん[sage] 投稿日:2019/04/04(木) 22:06:28.63 ID:opkeFDjY [17/21]
>>133
echo * (別にechoである必要はない)で
ファイルが見つからない時になぜ * を返すのか?
そういう仕様にした理由
152デフォルトの名無しさん
2019/04/08(月) 17:06:51.60ID:6GvfotlI なぜかは、
だいたいは、こんな感じ(だろうで)、
if(argc < 2){
fprintf(stderr, "usage: hoge file ...\n");
exit(1);
}
if((fp = fopen(argv[1], ...)) == NULL){
warn("%s", arg);
exit(1);
}
$ rm -v '*'
rm: *: No such file or directory
$ rm -v ''
rm: : No such file or directory
$ rm -v
usage: rm [-f | -i] [-dPRrvW] file ...
unlink file
どれがエラーとして適切?ということとかとか。他にエラーにならないのが困るとか
スクリプトでしかの話なら何も返さないというのもあるけど、スクリプトだけのためのじゃないからねえ。上記の通りコマンド的にはエラーの方がわかりやすく、シェルがどのコマンドだから展開方法を変えるというわけでもないし
>>151
そこにあるキーワードで別のmanがググれるよ
だいたいは、こんな感じ(だろうで)、
if(argc < 2){
fprintf(stderr, "usage: hoge file ...\n");
exit(1);
}
if((fp = fopen(argv[1], ...)) == NULL){
warn("%s", arg);
exit(1);
}
$ rm -v '*'
rm: *: No such file or directory
$ rm -v ''
rm: : No such file or directory
$ rm -v
usage: rm [-f | -i] [-dPRrvW] file ...
unlink file
どれがエラーとして適切?ということとかとか。他にエラーにならないのが困るとか
スクリプトでしかの話なら何も返さないというのもあるけど、スクリプトだけのためのじゃないからねえ。上記の通りコマンド的にはエラーの方がわかりやすく、シェルがどのコマンドだから展開方法を変えるというわけでもないし
>>151
そこにあるキーワードで別のmanがググれるよ
153デフォルトの名無しさん
2019/04/08(月) 17:08:25.01ID:6GvfotlI■ このスレッドは過去ログ倉庫に格納されています
