シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
シェルスクリプト総合 その31
https://mevius.5ch.net/test/read.cgi/tech/1565446670/
シェルスクリプト総合 その32
■ このスレッドは過去ログ倉庫に格納されています
2019/10/25(金) 00:08:45.53ID:6btPTvif
345デフォルトの名無しさん
2020/01/02(木) 13:59:42.22ID:Ifo0PTAe Bugzilla に登録されてるね。
Gecko_IOThread] WARNING: pipe error: Broken pipe: ... ipc_channel_posix.cc
https://bugzilla.mozilla.org/show_bug.cgi?id=1550919
Gecko_IOThread] WARNING: pipe error: Broken pipe: ... ipc_channel_posix.cc
https://bugzilla.mozilla.org/show_bug.cgi?id=1550919
346デフォルトの名無しさん
2020/01/02(木) 14:17:59.62ID:ZoBKtk8g >>345
つまり標準ブラウザ変えるかchromeとかにすれば良い感じですね。pipe errorとか connection reset の方で検索してました、ありがとうございますm(_ _)m
つまり標準ブラウザ変えるかchromeとかにすれば良い感じですね。pipe errorとか connection reset の方で検索してました、ありがとうございますm(_ _)m
347デフォルトの名無しさん
2020/01/02(木) 18:23:50.86ID:8+JZKzet348デフォルトの名無しさん
2020/01/10(金) 15:59:20.38ID:pZwemz/Y GNU sedって一応POSIXに準拠してるけど、色々拡張機能もあるじゃん
こういう拡張機能がほとんど無い、純粋にPOSIX標準に準じたようなsedやらawk、bcなんかの実装ってある?
こういう拡張機能がほとんど無い、純粋にPOSIX標準に準じたようなsedやらawk、bcなんかの実装ってある?
349デフォルトの名無しさん
2020/01/10(金) 16:05:57.94ID:c8NDboJX GNU sed, GNU awk には --posix オプション、GNU bc には --standard
っていうオプションが用意されている
っていうオプションが用意されている
350デフォルトの名無しさん
2020/01/11(土) 08:05:41.49ID:IVNUyUW+ 知らんかった。ありがとう
351デフォルトの名無しさん
2020/01/11(土) 21:29:54.53ID:9SPVzhvj やっぱzshクソ。pathとかstatusが特殊変数なのやめてくれ。
しかも大文字と小文字区別しねーし
path=hogehogeってやったら、環境変数PATHから検索しなくなる。
command not found!
しかも大文字と小文字区別しねーし
path=hogehogeってやったら、環境変数PATHから検索しなくなる。
command not found!
352デフォルトの名無しさん
2020/01/11(土) 23:34:38.48ID:NBzz9dXo 単にいままでのに慣れて違いを受け入れないってだけだな
353デフォルトの名無しさん
2020/01/11(土) 23:39:31.73ID:NBzz9dXo なんだ、単に zsh = ksh + tcsh ってのを理解してなくて的外れな文句言っているだけじゃん
アホらしい。文字通り
アホらしい。文字通り
354デフォルトの名無しさん
2020/01/12(日) 08:42:02.61ID:QbL/hexX なんでそんなに攻撃的なんだよw
355デフォルトの名無しさん
2020/01/12(日) 09:36:05.07ID:FpBV3Lt5356デフォルトの名無しさん
2020/01/12(日) 09:39:05.21ID:u1ffAIxu あと、環境変数の大文字と小文字は区別されてるのに
PATHに関してだけ区別されないのはどう考えてもクソだと思いますよ
pathに代入してもPATHが変わるってどう考えても
存在理由がない機能でしょw
PATHに関してだけ区別されないのはどう考えてもクソだと思いますよ
pathに代入してもPATHが変わるってどう考えても
存在理由がない機能でしょw
357デフォルトの名無しさん
2020/01/12(日) 11:22:16.69ID:QbL/hexX まるでwindows…
358デフォルトの名無しさん
2020/01/12(日) 17:34:52.15ID:J9pO5B5T そんなに不満があるなら誰かがフォークしてそれがメジャーになってるだろ
俺が正しいって言ってもお前の頭の中ではだな
俺が正しいって言ってもお前の頭の中ではだな
359デフォルトの名無しさん
2020/01/12(日) 18:17:26.10ID:QbL/hexX せやな。
事実一番メジャーなシェルはBashだしね。
事実一番メジャーなシェルはBashだしね。
360デフォルトの名無しさん
2020/01/12(日) 18:54:12.07ID:J9pO5B5T 読めない自己紹介にしかなってないな
361デフォルトの名無しさん
2020/01/12(日) 19:23:15.19ID:J9pO5B5T >>356
わざわざ後付けで書いてあるのに根本的に何も理解しようとしてないだけだな
大文字小文字を判断してないじゃないよ、
PATHは単なる文字列pathは配列、
pathはcsh特有での、
PATHとpathという別の2つの環境変数
shモードcshモードを切り替えてなんていう実装ではなくちゃんぽんの可能な実装なので、PATH/pathをどちらか変更したら相対する方にも同期するというのだろ。そもそもcshでのpathがそういうものらしいが
内部的に参照しているのはpathの方かな。同期されない特定状態の場合から(どういうときか探してみようw)
今まで使っていたのと違うというだけじゃ話にならない、俺が正しいって言ってもお前の頭の中ではだなでしかないということ(>>355なんてそれが甚だしいけどw)
わざわざ後付けで書いてあるのに根本的に何も理解しようとしてないだけだな
大文字小文字を判断してないじゃないよ、
PATHは単なる文字列pathは配列、
pathはcsh特有での、
PATHとpathという別の2つの環境変数
shモードcshモードを切り替えてなんていう実装ではなくちゃんぽんの可能な実装なので、PATH/pathをどちらか変更したら相対する方にも同期するというのだろ。そもそもcshでのpathがそういうものらしいが
内部的に参照しているのはpathの方かな。同期されない特定状態の場合から(どういうときか探してみようw)
今まで使っていたのと違うというだけじゃ話にならない、俺が正しいって言ってもお前の頭の中ではだなでしかないということ(>>355なんてそれが甚だしいけどw)
362デフォルトの名無しさん
2020/01/12(日) 21:32:38.39ID:UPYAUoGA cshがーっていうけど、zshとcshに互換性はまったくないじゃん
真似しなくていいものを真似した結果、貴重な短い変数名が
使えなくなってしまったことに違いはないんだけど
真似しなくていいものを真似した結果、貴重な短い変数名が
使えなくなってしまったことに違いはないんだけど
363デフォルトの名無しさん
2020/01/12(日) 21:53:04.90ID:J9pO5B5T 作りもしないのに何を文句だけ言っているのだか。そんなに俺が偉いしたいの?
This is a shar file containing zsh, a ksh/tcsh-like shell.
というコンセプトで始めてるんだよ、その成果が認められているのは有名ディストリでもパッケージとしてあるんだから明らかだろう
そんなに俺の考えたのが最強なら作ってみればいいじゃん、フォークしてでも。世界に名を轟かせるいい機会だぞ、こんな匿名で偉そうに評論してんじゃなくw
This is a shar file containing zsh, a ksh/tcsh-like shell.
というコンセプトで始めてるんだよ、その成果が認められているのは有名ディストリでもパッケージとしてあるんだから明らかだろう
そんなに俺の考えたのが最強なら作ってみればいいじゃん、フォークしてでも。世界に名を轟かせるいい機会だぞ、こんな匿名で偉そうに評論してんじゃなくw
364デフォルトの名無しさん
2020/01/12(日) 22:07:46.46ID:7H3TRCXg zshのクソ機能をクソ機能と言っただけで
なにファビョってるんだろう?
お前が作ったわけでもないだろうに
バカにされたとでも思ってるのか?
なにファビョってるんだろう?
お前が作ったわけでもないだろうに
バカにされたとでも思ってるのか?
365デフォルトの名無しさん
2020/01/12(日) 22:14:00.70ID:J9pO5B5T クソ機能をクソ機能と言えるほど全然賢くないのが明らかなのに、自覚のないヤツ(ら?)だなあという。自覚がないようだからでしかないんだがな
いや、そのコメでますますアレでしかないなあ。自分は何かをクソと呼ぶが、自分が同じように呼ばれると聞かないって、じゃあ、そもそもどういうつもりでクソと呼んでいるのか?哲学だよww
結局俺偉いだけもしくはただの根拠のない感情だけだから、俺が自分自身と同じだと思ってそんなコメすんだろな?としか思えんけど
いや、そのコメでますますアレでしかないなあ。自分は何かをクソと呼ぶが、自分が同じように呼ばれると聞かないって、じゃあ、そもそもどういうつもりでクソと呼んでいるのか?哲学だよww
結局俺偉いだけもしくはただの根拠のない感情だけだから、俺が自分自身と同じだと思ってそんなコメすんだろな?としか思えんけど
366デフォルトの名無しさん
2020/01/12(日) 22:26:10.29ID:7H3TRCXg うわっw なんだろう、これ美味しくないって言ったら
お前は料理できるんか?みたいな反応
ただの評論家だろ、評論家は評論するな!
自分で料理しろ、自分で自分で絵をかけ、自分で歌を歌え
プロよりうまくなかったら、評価する資格なし。みたいな極端な考えw
お前は料理できるんか?みたいな反応
ただの評論家だろ、評論家は評論するな!
自分で料理しろ、自分で自分で絵をかけ、自分で歌を歌え
プロよりうまくなかったら、評価する資格なし。みたいな極端な考えw
367デフォルトの名無しさん
2020/01/12(日) 22:29:57.49ID:J9pO5B5T わざわざ不特定多数のとこで美味しくないという個人的感情を書く理由はなんなん
それに対して、そんなことないぞなぜなら〜と返しているのだが。なにか問題があるか?
料理調理の内容がというなら自分で作れというのはいたって当たり前だろう。不満があったら自分で調理するのがOSSだからな
結局俺偉いってだけで反論を許さない、なぜなら俺偉いからというだけかw
それに対して、そんなことないぞなぜなら〜と返しているのだが。なにか問題があるか?
料理調理の内容がというなら自分で作れというのはいたって当たり前だろう。不満があったら自分で調理するのがOSSだからな
結局俺偉いってだけで反論を許さない、なぜなら俺偉いからというだけかw
368デフォルトの名無しさん
2020/01/12(日) 22:36:44.16ID:7H3TRCXg > わざわざ不特定多数のとこで美味しくないという個人的感情を書く理由はなんなん
レビュー。Googleもやってるで
レビュー。Googleもやってるで
369デフォルトの名無しさん
2020/01/12(日) 22:39:15.15ID:J9pO5B5T ちょっと意味がわからんが、ああいうとこはやりとりはしないできないだろ
てか、ど素人かよ。スクリプトであってもまがりなりにも何か自分で作っているのに未だど素人かよと思ってしまうな、クレーマーレベルすぎてw
てか、ど素人かよ。スクリプトであってもまがりなりにも何か自分で作っているのに未だど素人かよと思ってしまうな、クレーマーレベルすぎてw
370デフォルトの名無しさん
2020/01/13(月) 05:57:08.53ID:iUioslZh そんなに気に入らないなら自分で新しいシェル作れば良いのに。
371デフォルトの名無しさん
2020/01/13(月) 06:56:27.50ID:00IYKkjv 信者の例
新しいバトルシステムが使いづらい
→ そんなに気に入らないなら自分で新しいゲーム作れば良いのに
「設定」が使いづらい
→ そんなに気に入らないなら自分でOS作れば良いのに
新しいバトルシステムが使いづらい
→ そんなに気に入らないなら自分で新しいゲーム作れば良いのに
「設定」が使いづらい
→ そんなに気に入らないなら自分でOS作れば良いのに
372デフォルトの名無しさん
2020/01/13(月) 12:47:53.36ID:cEXtDkBR ナポレオン「私は卵を産めないが、卵が腐っていると判断できる」
(Zshの利用者が満足するような)シェルを作れる自信はないが、
Zshの一部機能を腐ってるとは言える。
ていうか他の人も指摘してたけど二三の欠点を指摘されただけで
まるで自分の人格を全否定されたかのような反応をするのってどういう感情なんだろう?
(Zshの利用者が満足するような)シェルを作れる自信はないが、
Zshの一部機能を腐ってるとは言える。
ていうか他の人も指摘してたけど二三の欠点を指摘されただけで
まるで自分の人格を全否定されたかのような反応をするのってどういう感情なんだろう?
373デフォルトの名無しさん
2020/01/13(月) 15:10:18.33ID:v+Mp6rDH psコマンドで見て a.out で実行されているプロセスを全部 kill -9 してくれるスクリプトってどう書いたらいいですか
374デフォルトの名無しさん
2020/01/13(月) 15:12:27.51ID:stzsvKPq 教えてあげないよじゃん
375デフォルトの名無しさん
2020/01/13(月) 15:35:35.00ID:v+Mp6rDH 約に立たない2chのクズ共が自分で調べた方が早い
ps | grep "./a.out" | grep -v grep | awk '{ print "kill -9", $1}' | sh
ps | grep "./a.out" | grep -v grep | awk '{ print "kill -9", $1}' | sh
376デフォルトの名無しさん
2020/01/13(月) 15:47:43.19ID:GhUCXbF0 374は屑だが回答ないと豹変するのもどうかと
377デフォルトの名無しさん
2020/01/13(月) 16:00:10.75ID:L1QEfUqR killall でいいんじゃないかな
378デフォルトの名無しさん
2020/01/13(月) 16:03:48.34ID:cEXtDkBR 煽って回答を貰うのはよく見掛ける光景だけど
煽りながら自己解決するのは珍しいなw
煽りながら自己解決するのは珍しいなw
379デフォルトの名無しさん
2020/01/13(月) 16:56:48.83ID:48BANHU6 zshはbashの強化版だと思ってたら違うのね
bashを覚えるので手一杯なんで他のシェルに浮気する余裕ないけど
bashを覚えるので手一杯なんで他のシェルに浮気する余裕ないけど
380デフォルトの名無しさん
2020/01/13(月) 22:41:06.83ID:ybxFvJaC シェルスクリプトとしてはzshは使わないね。
bashとだいたい互換性があるシェル。
スクリプトとしてはPOSIX準拠にするかbashでしょう
bashとだいたい互換性があるシェル。
スクリプトとしてはPOSIX準拠にするかbashでしょう
381デフォルトの名無しさん
2020/01/13(月) 23:52:57.18ID:HaVRjpT+382デフォルトの名無しさん
2020/01/14(火) 00:50:43.36ID:/0srrHag macでosアップデートしたらzsh強制になったんだが
383デフォルトの名無しさん
2020/01/14(火) 03:49:13.20ID:GtH+RxOj アップデートでは強制にならないよ
アップデートでなくても強制でもないし、単なるデフォ
アップデートでなくても強制でもないし、単なるデフォ
384デフォルトの名無しさん
2020/01/14(火) 16:08:03.31ID:5kcRpVJe385デフォルトの名無しさん
2020/01/14(火) 18:06:08.65ID:Xjyusg2Z386デフォルトの名無しさん
2020/01/14(火) 18:09:26.71ID:Xjyusg2Z この図 https://tangentsoft.com/misc/unix-shells.svg を見ると
zshはtcshを取り入れてると言うが、正確にはそれをやったのはKornShellで
その後継のksh88が、POSIX shellやbash等の現存する全てのシェルの祖先に
なるわけだから、zshと同様にdashやbashなんかもtcshを取り入れてることになるんだよな。
zshはtcshを取り入れてると言うが、正確にはそれをやったのはKornShellで
その後継のksh88が、POSIX shellやbash等の現存する全てのシェルの祖先に
なるわけだから、zshと同様にdashやbashなんかもtcshを取り入れてることになるんだよな。
387デフォルトの名無しさん
2020/01/14(火) 18:10:25.17ID:Xjyusg2Z ksh2020でたからこの図更新してくれんかなw
388デフォルトの名無しさん
2020/01/14(火) 18:46:58.03ID:3k/caRNi kshってなんか凄いんだな
昔、AIXでksh書いた事あるけど
AIXぐらいでしかインストールされてる環境に出逢ったことない
Solarisでbsh書いてた後に触って配列使えて感動したのを覚えてる
また使ってみるかなぁ
昔、AIXでksh書いた事あるけど
AIXぐらいでしかインストールされてる環境に出逢ったことない
Solarisでbsh書いてた後に触って配列使えて感動したのを覚えてる
また使ってみるかなぁ
389デフォルトの名無しさん
2020/01/14(火) 23:00:12.31ID:eC6vK415390デフォルトの名無しさん
2020/01/14(火) 23:05:01.84ID:eC6vK415391デフォルトの名無しさん
2020/01/15(水) 00:00:09.35ID:kWU6CwmB UNIXでbshができる
BSDでcshができる
改良版のtcshができる
bshにtcshを追加したkshができる
kshが商用だったので派生が拡がる
軽量版bshのashができる
Lnux版ashのdashができる
GNU版bshのbashができる
機能マシマシのzshができる
独立系のfishができる
こんな感じか
文字の修正とか昔のbashにはなかったらしいな
BSDでcshができる
改良版のtcshができる
bshにtcshを追加したkshができる
kshが商用だったので派生が拡がる
軽量版bshのashができる
Lnux版ashのdashができる
GNU版bshのbashができる
機能マシマシのzshができる
独立系のfishができる
こんな感じか
文字の修正とか昔のbashにはなかったらしいな
392デフォルトの名無しさん
2020/01/15(水) 00:15:20.12ID:iV6SKP+H デジャヴな適当なまとめレス
393デフォルトの名無しさん
2020/01/15(水) 00:24:02.07ID:PiCqpD5C fishは全然関係ねー
互換性がない別物
互換性がない別物
394デフォルトの名無しさん
2020/01/15(水) 07:03:57.56ID:kWU6CwmB 関係ないから独立系にしたんだけど
395デフォルトの名無しさん
2020/01/15(水) 07:44:52.57ID:YlxQUfnE それ依然に単に図を適当に日本語にしただけの説明なんてしなくていいから。
396デフォルトの名無しさん
2020/01/16(木) 07:51:49.13ID:kJFHtYN8 TETって使ってる?
OpenGroupが配布してる適合テスト
OpenGroupが配布してる適合テスト
397デフォルトの名無しさん
2020/01/17(金) 08:13:43.25ID:z4CRALQ3 しらん
398デフォルトの名無しさん
2020/01/19(日) 08:08:23.81ID:q9WTUin1 例えば'100 50'を渡すとして、コマンドと実行結果がそれぞれ
awk '$0' #100 50
awk '$0+=1' #101
awk '$0+=$0' #200
awk '$0+=$2/2' #125
awk '$1+=$2/2' #125 50
みたいになったのですが、内側3つの挙動がよく分かりません。
予想ではそれぞれ'101 51'や'200 100'や'125 75'等になると思っていたのですが、
$0って計算式を書き込むと$1を表示する仕組みなんでしょうか…?
awk '$0' #100 50
awk '$0+=1' #101
awk '$0+=$0' #200
awk '$0+=$2/2' #125
awk '$1+=$2/2' #125 50
みたいになったのですが、内側3つの挙動がよく分かりません。
予想ではそれぞれ'101 51'や'200 100'や'125 75'等になると思っていたのですが、
$0って計算式を書き込むと$1を表示する仕組みなんでしょうか…?
399デフォルトの名無しさん
2020/01/19(日) 09:17:02.04ID:qcodQ+dh $1, $2 などは、フィールド(列)変数。
$0 は、入力レコード(行)全体
こういう特別な変数に、代入してはいけない!
読み込む事だけに使うこと!
$0 は、入力レコード(行)全体
こういう特別な変数に、代入してはいけない!
読み込む事だけに使うこと!
400デフォルトの名無しさん
2020/01/19(日) 11:47:43.00ID:eoYSOV4S それは言いすぎだろう。少なくとも gawk では何が起こるか明確になっている。
理解する気が無いならやらない方がいいというならその通りだ。
理解する気が無いならやらない方がいいというならその通りだ。
401デフォルトの名無しさん
2020/01/19(日) 19:39:38.50ID:JpGnQ0ST シェル芸の定義って、スクリプトファイル作らないで、シェル(CLI)を駆使して
実用的ではないネタを披露すること。でいいですかね?
いやあまりにもくだらないネタが多いんで
実用的ではないネタを披露すること。でいいですかね?
いやあまりにもくだらないネタが多いんで
402デフォルトの名無しさん
2020/01/19(日) 19:41:53.38ID:rMML9kO3 何が言いたいんだか
403デフォルトの名無しさん
2020/01/19(日) 19:52:31.45ID:JpGnQ0ST 難読化シェル芸の解読
ながいPythonコードをシェル芸で実行させる
じわじわ広がる星型模様シェル芸
動く!電光掲示板シェル芸
ボディビルダーが泳ぐシェル芸
アイドルグループが46か48かわからなくなったときにワンライナーで解決する方法
鬼滅の刃の幾何学模様シェル芸
踊るgifシェル芸
ojichatグラフシェル芸
3の倍数と3が付く数字のときだけアホになるシェル芸
床屋シェル芸
闇シェル芸「さあ、闇のゲーム(シェルゲイム)の始まりだぜ!」
実践 キングウンコの作り方
画像っぽい素数をシェル芸でつくる
fish起動時にサイゼリヤ1000円ガチャの結果を表示する
【危険シェル芸】禁じられた闇の魔術とその防衛術??
ながいPythonコードをシェル芸で実行させる
じわじわ広がる星型模様シェル芸
動く!電光掲示板シェル芸
ボディビルダーが泳ぐシェル芸
アイドルグループが46か48かわからなくなったときにワンライナーで解決する方法
鬼滅の刃の幾何学模様シェル芸
踊るgifシェル芸
ojichatグラフシェル芸
3の倍数と3が付く数字のときだけアホになるシェル芸
床屋シェル芸
闇シェル芸「さあ、闇のゲーム(シェルゲイム)の始まりだぜ!」
実践 キングウンコの作り方
画像っぽい素数をシェル芸でつくる
fish起動時にサイゼリヤ1000円ガチャの結果を表示する
【危険シェル芸】禁じられた闇の魔術とその防衛術??
404デフォルトの名無しさん
2020/01/19(日) 19:54:37.30ID:ExWppFRM >>400
POSIXでも、
The symbol $0 shall refer to the entire record; setting any other field causes the re-evaluation of $0. Assigning to $0 shall reset the values of all other fields and the NF built-in variable
と明言してるね。$1〜$nを変えれば$0が再構築され、$0を変えれば$1〜$nとNFが作り直される風に
POSIXでも、
The symbol $0 shall refer to the entire record; setting any other field causes the re-evaluation of $0. Assigning to $0 shall reset the values of all other fields and the NF built-in variable
と明言してるね。$1〜$nを変えれば$0が再構築され、$0を変えれば$1〜$nとNFが作り直される風に
405デフォルトの名無しさん
2020/01/19(日) 20:01:00.70ID:ExWppFRM406デフォルトの名無しさん
2020/01/20(月) 04:39:32.79ID:JFurewkA >>351
っPowerShell
っPowerShell
407デフォルトの名無しさん
2020/01/20(月) 15:24:29.08ID:oVJVVsJQ408デフォルトの名無しさん
2020/01/21(火) 12:52:55.03ID:m6IPx8KZ kshって今時だとninjaとか使うんか…
昔ながらのMakefileじゃないんだね
昔ながらのMakefileじゃないんだね
409デフォルトの名無しさん
2020/01/21(火) 21:11:00.03ID:Mn6KsPak 教えていただきたいことがあります。
ワンクリックで複数のターミナルを開いてそれぞれで別々のコマンドを動かすスクリプトを書きたいと思っています。
gnome-teminalにオプションつけたらいけるかと思いますしたが、うまく行かなくて、、なにかアドバイスいただけないでしょうか
ワンクリックで複数のターミナルを開いてそれぞれで別々のコマンドを動かすスクリプトを書きたいと思っています。
gnome-teminalにオプションつけたらいけるかと思いますしたが、うまく行かなくて、、なにかアドバイスいただけないでしょうか
410デフォルトの名無しさん
2020/01/22(水) 07:07:11.43ID:uCiji4On gnome-terminal なら -- の後に実行したいコマンドを書けばいいだけみたいだけど
動いているが挙動がイマイチとかじゃないの?
うまく行かないって、そのままTerminalとしてウィンドウを残しておきたいとか引き続きインタラクティブでなんかしたいとか?
動いているが挙動がイマイチとかじゃないの?
うまく行かないって、そのままTerminalとしてウィンドウを残しておきたいとか引き続きインタラクティブでなんかしたいとか?
411デフォルトの名無しさん
2020/01/22(水) 07:22:53.82ID:uCiji4On GUI Terminalアプリは一般的にコマンドが実行し終えたらアプリも終える=ウィンドウも消えるという、まあそうなるか的な(まあshもそうだし)
gnome-terminalはオプションでウィンドウを残すようにできるが、なんかイマイチかな、出るべきものが出てないとか
gnome-terminal -- sh -c 'なんかコマンド;sh'
が確実に解りやすいかなあ
shで引き続きインタラクティブにするのには、--rcfile スクリプトファイル という変態的な方法で
gnome-terminal -- sh --rcfile スクリプトファイル
とかあったが、変態すぎてしないなw
gnome-terminalはオプションでウィンドウを残すようにできるが、なんかイマイチかな、出るべきものが出てないとか
gnome-terminal -- sh -c 'なんかコマンド;sh'
が確実に解りやすいかなあ
shで引き続きインタラクティブにするのには、--rcfile スクリプトファイル という変態的な方法で
gnome-terminal -- sh --rcfile スクリプトファイル
とかあったが、変態すぎてしないなw
412デフォルトの名無しさん
2020/01/22(水) 20:17:38.02ID:IMIM4EWG 返信ありがとうございます!
具体的にはFIFOを複数作成した後に、
ffplay (作成したfifo) というコマンドを
fifoの数だけ開きたいのですが、数が多くて一つ一つ開くのは大変なので、スクリプトで一気に開けないかと考えているところです。
具体的にはFIFOを複数作成した後に、
ffplay (作成したfifo) というコマンドを
fifoの数だけ開きたいのですが、数が多くて一つ一つ開くのは大変なので、スクリプトで一気に開けないかと考えているところです。
413デフォルトの名無しさん
2020/01/22(水) 20:31:41.36ID:aGAY9ZaD ffplayって自分で独自のウィンドウ開くんじゃないの?
全てバックグラウンドで起動する/動かせばいいんじゃないの?
ffplayが吐くログも同時に見たいとか??
全てバックグラウンドで起動する/動かせばいいんじゃないの?
ffplayが吐くログも同時に見たいとか??
414デフォルトの名無しさん
2020/01/22(水) 20:38:59.30ID:0dPQnm43415デフォルトの名無しさん
2020/01/22(水) 21:18:09.64ID:aGAY9ZaD for i in 1 2 3 4; do
gnome-terminal -- ffplay $i.fifo
done
で、再生中はTerminalウィンドウも健在でログも見えるんじゃないの。ffplayが終了したらTerminalウィンドウは閉じてしまう
gnome-terminal -- sh -c "ffplay $i.fifo;sh"
で、Terminalウィンドウも残ると思うけど。Terminalウィンドウでffplayを終了させようとctrl-cすると、後のsh起動まで行かないけど
gnome-terminal -- ffplay $i.fifo
done
で、再生中はTerminalウィンドウも健在でログも見えるんじゃないの。ffplayが終了したらTerminalウィンドウは閉じてしまう
gnome-terminal -- sh -c "ffplay $i.fifo;sh"
で、Terminalウィンドウも残ると思うけど。Terminalウィンドウでffplayを終了させようとctrl-cすると、後のsh起動まで行かないけど
416デフォルトの名無しさん
2020/01/22(水) 21:37:15.05ID:0dPQnm43417デフォルトの名無しさん
2020/01/25(土) 17:35:52.15ID:2I6NhO3j index=2,INFO1="abc",INFO2="ab,c"
↑こういう風に
「カンマ区切りで値が並んでて、区切り文字ではないカンマは引用符で囲まれてる」
みたいなデータに対して、
シェルスクリプトでINFO2やらindexやらの値を取得したいんだけどどういう方法がいいですかね。
IFSをカンマにする方法では引用符で囲まれてるカンマも区切りと見做されちゃうし…
シェルって""←の中を特別に扱う筈だから、evalとか使えば効率的に処理できそうなんだけど、
思い付かん…
↑こういう風に
「カンマ区切りで値が並んでて、区切り文字ではないカンマは引用符で囲まれてる」
みたいなデータに対して、
シェルスクリプトでINFO2やらindexやらの値を取得したいんだけどどういう方法がいいですかね。
IFSをカンマにする方法では引用符で囲まれてるカンマも区切りと見做されちゃうし…
シェルって""←の中を特別に扱う筈だから、evalとか使えば効率的に処理できそうなんだけど、
思い付かん…
418デフォルトの名無しさん
2020/01/25(土) 19:29:47.91ID:nGGHbHoP なんか前も似たような話があった気がするな
でもカンマ区切りでダブルクォートの中にカンマが含まれてるのかー
ってかCSV形式だなw
CSV関連のコマンドと連携させれば簡単に作れるけど
俺は使いたくないなー。というすると自分でパースするしか無いかなー
自分が必要なら最悪パースするけど、簡単な方法ないかなーw
でもカンマ区切りでダブルクォートの中にカンマが含まれてるのかー
ってかCSV形式だなw
CSV関連のコマンドと連携させれば簡単に作れるけど
俺は使いたくないなー。というすると自分でパースするしか無いかなー
自分が必要なら最悪パースするけど、簡単な方法ないかなーw
419デフォルトの名無しさん
2020/01/25(土) 19:31:22.74ID:nGGHbHoP あ、IFSをカンマにしてから、evalに渡せばできるんじゃね?
420デフォルトの名無しさん
2020/01/25(土) 19:32:25.51ID:nGGHbHoP あ、evalじゃだめか。setがいるか
421デフォルトの名無しさん
2020/01/25(土) 19:44:38.62ID:nGGHbHoP setはいらんかったw
あとはスペースが入ってるときかー、どうやって対処するかな?
あとはスペースが入ってるときかー、どうやって対処するかな?
422デフォルトの名無しさん
2020/01/25(土) 20:29:47.31ID:2I6NhO3j423デフォルトの名無しさん
2020/01/25(土) 20:29:55.33ID:S3XsKqnt プログラミング言語でやったことあるけど
もともとあるデータに手を加えられないなら
カンマを違う区切り文字に置き換えたかな
行解析ロジック入れたりもした
最近作ったシェルスクリプトだと
読み込むファイルをちゃんと設計して
そんなデータは行末に来るようにした
そしてwhile readで処理できるようにしてる
もともとあるデータに手を加えられないなら
カンマを違う区切り文字に置き換えたかな
行解析ロジック入れたりもした
最近作ったシェルスクリプトだと
読み込むファイルをちゃんと設計して
そんなデータは行末に来るようにした
そしてwhile readで処理できるようにしてる
424デフォルトの名無しさん
2020/01/25(土) 20:48:15.05ID:2I6NhO3j 超具体的に言うと(てかここまで直接に状況を晒すとクレクレみたくなるなw)
“playlist.m3u8”っていうファイルだとして
↑こういう形式の行が沢山あるんだけど、
ここのRESOLUTIONの値と対応するMOVIE-URIの値をずらずら欲しい。
IFSを変える方法だとやっぱり引用符に関係なく「,」で区切られちゃうのよね
while read l; do
IFS=','; for s in "$l"; do
echo "$s"
done
done < ./playlist.m3u8
“playlist.m3u8”っていうファイルだとして
↑こういう形式の行が沢山あるんだけど、
ここのRESOLUTIONの値と対応するMOVIE-URIの値をずらずら欲しい。
IFSを変える方法だとやっぱり引用符に関係なく「,」で区切られちゃうのよね
while read l; do
IFS=','; for s in "$l"; do
echo "$s"
done
done < ./playlist.m3u8
425デフォルトの名無しさん
2020/01/25(土) 20:49:51.89ID:2I6NhO3j426デフォルトの名無しさん
2020/01/25(土) 21:15:13.22ID:nGGHbHoP 面倒になったー
index=2,INFO1="abc",INFO2="ab,c"
を
index=2 INFO1="abc" INFO2="ab c"
に変換すれば
evalできるよ!
あとは頑張ってー
index=2,INFO1="abc",INFO2="ab,c"
を
index=2 INFO1="abc" INFO2="ab c"
に変換すれば
evalできるよ!
あとは頑張ってー
427デフォルトの名無しさん
2020/01/25(土) 22:38:09.23ID:2I6NhO3j428デフォルトの名無しさん
2020/01/25(土) 22:39:10.68ID:nGGHbHoP >>427
戻せばいいよー
戻せばいいよー
429デフォルトの名無しさん
2020/01/25(土) 22:40:41.08ID:nGGHbHoP んー?戻すとなったらset使ったほうがいいんか?
eval set -- index=2 INFO1="abc" INFO2="ab c"
$1, $2,・・・代入されるからに処理しやすい
eval set -- index=2 INFO1="abc" INFO2="ab c"
$1, $2,・・・代入されるからに処理しやすい
430デフォルトの名無しさん
2020/01/25(土) 22:41:54.41ID:nGGHbHoP > AWKやらでガシガシ解析するしかないw
シェルスクリプトでも普通にやればいいんだけどねー
一文字ずつ処理する方法さえ調べれば、
あとは簡単な普通のパーサー
シェルスクリプトでも普通にやればいいんだけどねー
一文字ずつ処理する方法さえ調べれば、
あとは簡単な普通のパーサー
431デフォルトの名無しさん
2020/01/25(土) 22:43:30.45ID:nGGHbHoP こういうのってawkで高度(?)な機能と発想の転換で使ってこなすより
1文字ずつ処理したほうが楽でわかりやすいよな
1文字ずつ処理したほうが楽でわかりやすいよな
432デフォルトの名無しさん
2020/01/26(日) 01:20:08.20ID:GaEtLwpN GNU awk なら FPAT が使える
echo 'index=2,INFO1="abc",INFO2="ab,c"' |
gawk -vFPAT='[^=,"]+=("[^"]*"|[^,]*)' '{print gensub(FPAT, "\\1", "g")}'
=> 2,"abc","ab,c"
echo 'index=2,INFO1="abc",INFO2="ab,c"' |
gawk -vFPAT='[^=,"]+=("[^"]*"|[^,]*)' '{print gensub(FPAT, "\\1", "g")}'
=> 2,"abc","ab,c"
433デフォルトの名無しさん
2020/01/26(日) 01:26:07.97ID:gf7z5zyj >>432
そういうやつね、高度な機能っていうのは
大体動くんだろうけど、仕組みを把握するのがだるいんだよね
仕組みっていうかどこまで動いて、どこが動かないのかの把握
大体動く精神なんだろうけど、それ使う側がそれで
納得できる前提だから、知らない人が使う場合困るんだよな
いざ問題が起きたら、対応が逆に大変になる
そういうやつね、高度な機能っていうのは
大体動くんだろうけど、仕組みを把握するのがだるいんだよね
仕組みっていうかどこまで動いて、どこが動かないのかの把握
大体動く精神なんだろうけど、それ使う側がそれで
納得できる前提だから、知らない人が使う場合困るんだよな
いざ問題が起きたら、対応が逆に大変になる
434デフォルトの名無しさん
2020/01/26(日) 01:31:16.29ID:GaEtLwpN いやぁ、こっちからみると eval や set を使う方がツラいわ…
435デフォルトの名無しさん
2020/01/26(日) 01:38:47.61ID:3NTRDHS2 evalやsetは普通にシェルが文法を解釈するのと
同じ動きをするだけなんだからシンプルだろ
シェルの構文パーサー自体はしっかりと作られてるんだから
でもFPATはだいたい動くという理念で作られてる
同じ動きをするだけなんだからシンプルだろ
シェルの構文パーサー自体はしっかりと作られてるんだから
でもFPATはだいたい動くという理念で作られてる
436デフォルトの名無しさん
2020/01/26(日) 01:48:36.68ID:GaEtLwpN FPATって単なる正規表現(ERE)でしかないけどな。個人的には正規表現で
考える方が楽でいいし確実。以前に同じ様な事があったけど、
・変数名にもカンマを使いたい(SQLみたいにバッククォートで括る)
・値の方には複数行のテキストを入れたい(newlineを使える様にして)
っていうリクエストがあって大変だったけど、結局 python の CSV パッケージ
を使って解決
考える方が楽でいいし確実。以前に同じ様な事があったけど、
・変数名にもカンマを使いたい(SQLみたいにバッククォートで括る)
・値の方には複数行のテキストを入れたい(newlineを使える様にして)
っていうリクエストがあって大変だったけど、結局 python の CSV パッケージ
を使って解決
437デフォルトの名無しさん
2020/01/26(日) 02:14:38.87ID:3NTRDHS2 そもそも正規表現は単語(文字の並び)を見分けるもので
その単語の意味(このカンマはどういう意味?)を
見分けるものじゃないんだよ
本来得意ではない意味を区別できるよう拡張していったら
逆にコード見ても何をしているか意味がわからなくなってる
コードをパット見てその意味がわからんのは
スパゲッティコードと大差ないよ
その単語の意味(このカンマはどういう意味?)を
見分けるものじゃないんだよ
本来得意ではない意味を区別できるよう拡張していったら
逆にコード見ても何をしているか意味がわからなくなってる
コードをパット見てその意味がわからんのは
スパゲッティコードと大差ないよ
438デフォルトの名無しさん
2020/01/26(日) 02:21:54.35ID:GaEtLwpN eval 使うのは面白いけど、
$ eval $(echo 'id=$(whoami),hostname=$(hostname),date="$(date)"' | tr , ' ')
fork_bomb=$(:(){ :|:& };:) なんて文字列を埋め込まれたら嫌だな…
$ eval $(echo 'id=$(whoami),hostname=$(hostname),date="$(date)"' | tr , ' ')
fork_bomb=$(:(){ :|:& };:) なんて文字列を埋め込まれたら嫌だな…
439デフォルトの名無しさん
2020/01/26(日) 03:03:54.87ID:GaEtLwpN m3u8-file-parser(http://npm.taobao.org/package/m3u8-file-parser)なんてのがあるな
playlist のフォーマットって RFC8216 で定義されていたのね
playlist のフォーマットって RFC8216 で定義されていたのね
440デフォルトの名無しさん
2020/01/26(日) 09:15:52.32ID:EvZHCPY7 https://tools.ietf.org/html/rfc8216#section-4.2
属性列挙を解析したいって話か。
属性列挙を解析したいって話か。
441デフォルトの名無しさん
2020/01/26(日) 11:48:02.12ID:EvZHCPY7442デフォルトの名無しさん
2020/01/26(日) 13:26:43.97ID:XFNlR92Q てかお前らいつまで化石みたいな話してんの?
PowerShellやれよ
お前らが大好きなLinuxにもPowerShell入れられるように成ってるからw
もうこれからはハイパーVとかWindowsサーバーとかWSLできないと食ってなるぞお前らまじで
PowerShellやれよ
お前らが大好きなLinuxにもPowerShell入れられるように成ってるからw
もうこれからはハイパーVとかWindowsサーバーとかWSLできないと食ってなるぞお前らまじで
443デフォルトの名無しさん
2020/01/26(日) 13:39:38.23ID:IghF1+Kj Perl ならこんな感じか。
perl -ne 'while ( /(("[^"]*"|[^,])+)/g ){ print("$1\n") }'
Perl にも CSV を扱うモジュールはあるけどね。
perl -ne 'while ( /(("[^"]*"|[^,])+)/g ){ print("$1\n") }'
Perl にも CSV を扱うモジュールはあるけどね。
444デフォルトの名無しさん
2020/01/26(日) 13:42:52.65ID:EvZHCPY7 ちょっとやろうとしてみたけど
_var='a b "a,b" c "a b"'
IFS=' '
eval set -- $_var
for s in "$@"; do
echo "$s"
done
↑これが↓
a
b
a,b
c
a b
になるのに、
_var='a,b,"a,b",c,"a b"'
IFS=','
eval set -- $_var
for s in "$@"; do
echo "$s"
done
↑これが↓
a
b
a b
c
a b
↑こうなってしまうのでevalとsetでどうにかするのはかなり難しそう。
(コンマの情報が潰されちゃう)
シェルスクリプトで自作するのに拘ってるみたいだけど
m3u8パーサ?使うべきじゃないかなぁ。
_var='a b "a,b" c "a b"'
IFS=' '
eval set -- $_var
for s in "$@"; do
echo "$s"
done
↑これが↓
a
b
a,b
c
a b
になるのに、
_var='a,b,"a,b",c,"a b"'
IFS=','
eval set -- $_var
for s in "$@"; do
echo "$s"
done
↑これが↓
a
b
a b
c
a b
↑こうなってしまうのでevalとsetでどうにかするのはかなり難しそう。
(コンマの情報が潰されちゃう)
シェルスクリプトで自作するのに拘ってるみたいだけど
m3u8パーサ?使うべきじゃないかなぁ。
445デフォルトの名無しさん
2020/01/26(日) 14:11:49.86ID:GaEtLwpN■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【ネット民のツッコミ】立憲・野田代表の「事実上の撤回」発言がトレンド、「高市さんそんな事は言ってない」「流石に無理あるだろw」 [1ゲットロボ★]
- 【国際法を無視】日本での「中華人民共和国に台湾問題を論じる資格なし」との声に 中国外交部が厳しく反論… ★2 [BFU★]
- 生クリームだけの真っ白なクリスマスケーキ 大手メーカーが販売、その理由は…フルーツなしで価格は半額以下に ★3 [おっさん友の会★]
- 【工作員】「X」のアカウント所在地公開機能が暴いた世論操作の実態 MAGA支持著名アカウントの多くが米国外から運営 日本にも波及 ★3 [ごまカンパチ★]
- 【文春】元TOKIO・国分太一(51)「女性スタッフ2名への“わいせつ事案”」日テレ事情聴取の全貌が分かった! ★5 [Ailuropoda melanoleuca★]
- 【野球】大谷翔平、日本の今の野球は「全く誰が活躍しているか分からない」「映像見ないようにしている」 [冬月記者★]
- ( ・᷄ὢ・᷅ )なに!?クソク遺跡で世紀の大発見があっただと!?
- まったりまったりおじゃる丸待機スレ🏡
- 風呂気持ちい
- 中国外務省「全く不十分だ。ごまかすような手口を使うべきではない」高市答弁を批判 [834922174]
- 家族が具合悪くなるとムカツク
- ✋🏿( ・᷄ὢ・᷅ )用便願います
