シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
前スレ: シェルスクリプト総合 その27(https://mevius.5ch.net/test/read.cgi/unix/1525337663/)
探検
シェルスクリプト総合 その28
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/07/24(火) 11:01:16.36ID:r0TJj2hB319デフォルトの名無しさん
2018/08/26(日) 23:23:16.02ID:XxVIxjiS http://pubs.opengroup.org/onlinepubs/009695399/utilities/tput.html
ここを見るとtput colsおよびtput linesは標準で使えないと読めるのですが
POSIXに準拠した形で端末の幅などを取得するにはどうすればいいんでしょうか
ここを見るとtput colsおよびtput linesは標準で使えないと読めるのですが
POSIXに準拠した形で端末の幅などを取得するにはどうすればいいんでしょうか
320デフォルトの名無しさん
2018/08/27(月) 00:43:08.11ID:6cDpYi8T POISXコマンドであるtput使ってればいいんじゃないの
tputの仕様上は、端末(というかTerminalアプリというか端末エミュレータ)までは知らんってことじゃないの
tputの仕様/機能を満たすために後は勝手にやってくれってことじゃないの。で、当然勝手にやってる、というか、それも標準的な方法でやってるだろう(だいたいはtermcap/terminfoとかベースで)
tputの仕様上は、端末(というかTerminalアプリというか端末エミュレータ)までは知らんってことじゃないの
tputの仕様/機能を満たすために後は勝手にやってくれってことじゃないの。で、当然勝手にやってる、というか、それも標準的な方法でやってるだろう(だいたいはtermcap/terminfoとかベースで)
321デフォルトの名無しさん
2018/08/27(月) 00:48:50.05ID:QAQ5xX6o でもOpenWrtにはtputないしなー
322デフォルトの名無しさん
2018/08/27(月) 01:06:14.94ID:KUEVzuS1 POSIX 準拠かどうか分からんけど、
$ stty size
じゃだめなん?
$ stty size
じゃだめなん?
323デフォルトの名無しさん
2018/08/27(月) 01:12:42.77ID:QAQ5xX6o sttyもOpenWrtではないなー
324デフォルトの名無しさん
2018/08/27(月) 01:13:44.58ID:x5JZtbKK325デフォルトの名無しさん
2018/08/27(月) 01:14:39.85ID:x5JZtbKK ID:QAQ5xX6o ただの知識自慢?OpenWrtって
326デフォルトの名無しさん
2018/08/27(月) 03:20:49.11ID:y2YT/eYl >>320
いえ すいません言葉が悪かったです。
POSIX標準としてのtputコマンドはあるのです。
http://pubs.opengroup.org/onlinepubs/009695399/utilities/tput.html
しかし そのオプションとして“cols”や“lines”が記載されていないのです。
いえ すいません言葉が悪かったです。
POSIX標準としてのtputコマンドはあるのです。
http://pubs.opengroup.org/onlinepubs/009695399/utilities/tput.html
しかし そのオプションとして“cols”や“lines”が記載されていないのです。
327デフォルトの名無しさん
2018/08/27(月) 03:58:36.09ID:6cDpYi8T 直接、端末に問い合わせる
https://unix.stackexchange.com/questions/16578/resizable-serial-console-window
いちおう、POSIXコマンドオプション内ではあるな。まあ、端末種によって判断しのだけど、2つぐらいに集約されてんのかな?
C関数ではPOSIXのがあるので、ちっちゃいコマンドをCで書く
http://austingroupbugs.net/view.php?id=1053
らしい。時代を先取りして(?)気にせず >>322 を使う
https://unix.stackexchange.com/questions/16578/resizable-serial-console-window
いちおう、POSIXコマンドオプション内ではあるな。まあ、端末種によって判断しのだけど、2つぐらいに集約されてんのかな?
C関数ではPOSIXのがあるので、ちっちゃいコマンドをCで書く
http://austingroupbugs.net/view.php?id=1053
らしい。時代を先取りして(?)気にせず >>322 を使う
328デフォルトの名無しさん
2018/08/27(月) 04:54:02.59ID:6cDpYi8T というか、
COLUMNS LINES でええやん
http://pubs.opengroup.org/onlinepubs/009604599/basedefs/xbd_chap08.html
んなの設定してないっていうしょぼい環境だったら、しょぼいので設定してくださいって、ユーザに固定値でも設定させれば済むんじゃないの
COLUMNS LINES でええやん
http://pubs.opengroup.org/onlinepubs/009604599/basedefs/xbd_chap08.html
んなの設定してないっていうしょぼい環境だったら、しょぼいので設定してくださいって、ユーザに固定値でも設定させれば済むんじゃないの
329デフォルトの名無しさん
2018/08/27(月) 05:14:12.97ID:y2YT/eYl http://austingroupbugs.net/main_page.php
↑このサイト初めて知ったわ。
ここで次期のPOSIX標準がだいたい把握できるんだな。
ところでxargsに-0オプションが付くかどうかってどうやって調べればいいですかね
↑このサイト初めて知ったわ。
ここで次期のPOSIX標準がだいたい把握できるんだな。
ところでxargsに-0オプションが付くかどうかってどうやって調べればいいですかね
330デフォルトの名無しさん
2018/08/27(月) 06:47:11.21ID:QAQ5xX6o331デフォルトの名無しさん
2018/08/27(月) 07:11:24.04ID:i3Gxv5eF332デフォルトの名無しさん
2018/08/27(月) 07:46:41.74ID:y2YT/eYl >>330
いやそうじゃなくてPOSIX標準に取り込まれるかどうかってことです
findの-print0オプションはこの間採用されたものの
対応するコマンドでナル文字区切りのデータを受け取れて,さらにそれを区切りとして解釈できるものが
awkくらいしかない状況なので
多くの拡張実装(BSDやGNU)で取り入れられているxargsコマンドの-0オプションが
POSIX標準にならないかな というのが知りたいのです。
そしてその情報をどう入手すればいいのか今迄分からなかったんですよ。
いやそうじゃなくてPOSIX標準に取り込まれるかどうかってことです
findの-print0オプションはこの間採用されたものの
対応するコマンドでナル文字区切りのデータを受け取れて,さらにそれを区切りとして解釈できるものが
awkくらいしかない状況なので
多くの拡張実装(BSDやGNU)で取り入れられているxargsコマンドの-0オプションが
POSIX標準にならないかな というのが知りたいのです。
そしてその情報をどう入手すればいいのか今迄分からなかったんですよ。
333デフォルトの名無しさん
2018/08/27(月) 08:12:50.85ID:gOoey+yt 次期POSIXや将来のPOSIXで入れる入れない機能みたいな議論を知りたいってことでしょうか
334デフォルトの名無しさん
2018/08/27(月) 09:26:49.88ID:y2YT/eYl >>333
その通りです 言葉が足らずもうしわけない
その通りです 言葉が足らずもうしわけない
335デフォルトの名無しさん
2018/08/27(月) 13:54:28.91ID:i3Gxv5eF336デフォルトの名無しさん
2018/08/27(月) 13:58:31.29ID:6cDpYi8T 他にもあるけど、managerはあくまでも拒否って感じ。確か2015あたりのもあるけど、同じ応えばかりw
337デフォルトの名無しさん
2018/08/27(月) 14:31:36.35ID:i3Gxv5eF 毎回 -exec {} + を書いてるよね。
でも close はされてないし、うーん この
でも close はされてないし、うーん この
338デフォルトの名無しさん
2018/08/27(月) 14:48:30.12ID:6cDpYi8T 0000251がファイル名に改行を認めるべきか認めないべきかっていうのがありの
んなのとっとと認めないでcloseすれば話が先にすすむのになって感じかなあ。議論が長いのでよくは読んではいない
んなのとっとと認めないでcloseすれば話が先にすすむのになって感じかなあ。議論が長いのでよくは読んではいない
339デフォルトの名無しさん
2018/08/27(月) 15:34:44.12ID:gOoey+yt 現代のスピード感じゃないよね(´・ω・`)
340デフォルトの名無しさん
2018/08/27(月) 20:40:23.57ID:y2YT/eYl まあ互換性の最後の砦だから 新しい機能を付け足すのに慎重になりすぎることはないのかも
341デフォルトの名無しさん
2018/08/27(月) 22:17:16.58ID:6cDpYi8T >>339
dwheelerさんが問題解決を拗らせてると見えなくもないw
ファイル名に改行を認めないで、改行をNULLの代わりにxargsが対応すれば済むような。readはマズいのかなと思うがNULLと改行が同時に必要ってあるのかな??
dwheelerさんが問題解決を拗らせてると見えなくもないw
ファイル名に改行を認めないで、改行をNULLの代わりにxargsが対応すれば済むような。readはマズいのかなと思うがNULLと改行が同時に必要ってあるのかな??
342デフォルトの名無しさん
2018/08/27(月) 22:20:04.31ID:6cDpYi8T >>341
NULL=ヌル文字'¥0'のことね。いちおう(なぞ)
NULL=ヌル文字'¥0'のことね。いちおう(なぞ)
343デフォルトの名無しさん
2018/08/27(月) 22:31:27.06ID:r0TuCFDo >>341
マルチバイト文字列の2バイト目以降に改行コードが入る可能性は?
マルチバイト文字列の2バイト目以降に改行コードが入る可能性は?
344デフォルトの名無しさん
2018/08/27(月) 22:36:28.15ID:6cDpYi8T >>343
議論でEBICDICでとかあったが、そんなのももういらないUnicodeでいいやんここ(5ch)もいい加減Shift-JISを捨ててUnicodeにしやがれっ
あるの?知らん。あったら他でも問題あったりするんじゃないのかなあ。dwheelerさんもそんな感じで重箱の隅的なwなのになぜか-0や-print0はええやん的な
議論でEBICDICでとかあったが、そんなのももういらないUnicodeでいいやんここ(5ch)もいい加減Shift-JISを捨ててUnicodeにしやがれっ
あるの?知らん。あったら他でも問題あったりするんじゃないのかなあ。dwheelerさんもそんな感じで重箱の隅的なwなのになぜか-0や-print0はええやん的な
345デフォルトの名無しさん
2018/08/27(月) 22:39:24.93ID:i3Gxv5eF346デフォルトの名無しさん
2018/08/27(月) 22:59:48.13ID:zX+eejgv COLUMNS LINES でいいわけがない
xtermみたいなターミナルエミュレータでも普通にリサイズされるからな
しらん間にサイズが変更されるttyなんかいくらでもある
ttyのサイズについて、常に正しい値を取得したい場合は
常にttyのサイズが変更されたシグナル(SIGWINCH)を受け取るようにして
毎回、COLUMNS LINESの環境変数を更新し続けるとか工夫しないと難しい
↓こんな感じのやりかた
trap 'COLUMNS=$(tput cols) LINES=$(tput lines)' WINCH
あとはioctrlでTIOCGWINSZをじかにとるぐらいしか思い付かない
xtermみたいなターミナルエミュレータでも普通にリサイズされるからな
しらん間にサイズが変更されるttyなんかいくらでもある
ttyのサイズについて、常に正しい値を取得したい場合は
常にttyのサイズが変更されたシグナル(SIGWINCH)を受け取るようにして
毎回、COLUMNS LINESの環境変数を更新し続けるとか工夫しないと難しい
↓こんな感じのやりかた
trap 'COLUMNS=$(tput cols) LINES=$(tput lines)' WINCH
あとはioctrlでTIOCGWINSZをじかにとるぐらいしか思い付かない
347デフォルトの名無しさん
2018/08/27(月) 23:13:57.46ID:6cDpYi8T >>346
俺の環境では、COLUMNS LINES が自動で変わるけどな。サーバーにssh接続して、クライアントでウィンドウサイズ変えても、ちゃんとサーバー側shellでのCOLUMNS LINESは
ので、それが当たり前かと思ってたよw xtermでもやりゃできるんじゃないのってか、そんな古いのは対応しないのかな
俺の環境では、COLUMNS LINES が自動で変わるけどな。サーバーにssh接続して、クライアントでウィンドウサイズ変えても、ちゃんとサーバー側shellでのCOLUMNS LINESは
ので、それが当たり前かと思ってたよw xtermでもやりゃできるんじゃないのってか、そんな古いのは対応しないのかな
348デフォルトの名無しさん
2018/08/27(月) 23:16:22.70ID:6cDpYi8T xtermでもちゃんとCOLUMNS LINESがリアルタイムに変わるやんけっ!
349デフォルトの名無しさん
2018/08/27(月) 23:18:21.35ID:zX+eejgv いやsshでの接続なら普通に対応してるからな
350デフォルトの名無しさん
2018/08/27(月) 23:21:50.19ID:6cDpYi8T なるほど!逆にローカルでは何もしないのか。なるほど。なんでやねんっ!xtermのせいか
351デフォルトの名無しさん
2018/08/27(月) 23:23:01.18ID:zX+eejgv xtermが対応してるとか
そういう問題じゃないからな
ttyはただのダム端末だからな
xtermみたいにサイズを変更できるターミナルがあって
それに対応できるかどうかという問題になる
そういう問題じゃないからな
ttyはただのダム端末だからな
xtermみたいにサイズを変更できるターミナルがあって
それに対応できるかどうかという問題になる
352デフォルトの名無しさん
2018/08/27(月) 23:25:15.75ID:6cDpYi8T TTYの幅とかの概念あるの?行はまず無いでしょ。TTYの話じゃないよ
Terminalアプリでローカルでもちゃんとしているのはあるけど?
Terminalアプリでローカルでもちゃんとしているのはあるけど?
353デフォルトの名無しさん
2018/08/27(月) 23:29:04.05ID:zX+eejgv ただな幅の情報が取得できないと
cursorライブラリなんか使えない
ウィンドウサイズが端末の幅とか関係なく
好き放題サイズを設定できるとしても
使いようがない
cursorライブラリなんか使えない
ウィンドウサイズが端末の幅とか関係なく
好き放題サイズを設定できるとしても
使いようがない
354デフォルトの名無しさん
2018/08/27(月) 23:31:24.22ID:zX+eejgv ターミナルはエコーされた文字を
標準出力や標準エラー出力に出力するだけだからな
標準出力や標準エラー出力に出力するだけだからな
355デフォルトの名無しさん
2018/08/27(月) 23:33:24.56ID:6cDpYi8T いやいや...いやいや...
xterm前提とか、今何使ってるの??
xterm前提とか、今何使ってるの??
356デフォルトの名無しさん
2018/08/27(月) 23:34:19.94ID:zX+eejgv オレはxtermを例にあげただけで
xtermだけじゃない
puttyでもTeratermでもなんでもいい
xtermだけじゃない
puttyでもTeratermでもなんでもいい
357デフォルトの名無しさん
2018/08/27(月) 23:35:13.23ID:zX+eejgv 昔のwindowsに附属してた
telnetでもいい
telnetでもいい
358デフォルトの名無しさん
2018/08/27(月) 23:36:58.83ID:6cDpYi8T あー...
ちょっとLinuxのでも使ってみ。今時は違うから。まあ、そゆのも対象にしたら使えないかもね
ちょっとLinuxのでも使ってみ。今時は違うから。まあ、そゆのも対象にしたら使えないかもね
359デフォルトの名無しさん
2018/08/27(月) 23:38:30.97ID:6cDpYi8T telnetって...
まあ、そんな古いのを対象にしたらそかもね。なにかPOSIXの貧弱さに通じるものがあるなw
まあ、そんな古いのを対象にしたらそかもね。なにかPOSIXの貧弱さに通じるものがあるなw
360デフォルトの名無しさん
2018/08/27(月) 23:39:06.12ID:zX+eejgv むしろ物理コンソールで計算機さわることのほうが希だからな
まずサーバーだったらxなんか立ちあげることなんかありえないから
xを使うようターミナルエミュレータを使う機会なんかまずない
まずサーバーだったらxなんか立ちあげることなんかありえないから
xを使うようターミナルエミュレータを使う機会なんかまずない
361デフォルトの名無しさん
2018/08/27(月) 23:40:16.59ID:zX+eejgv 趣味や遊びで使う分にはいいかもしれないどな
仕事で使う場合そんな使い方はまずしない
仕事で使う場合そんな使い方はまずしない
362デフォルトの名無しさん
2018/08/27(月) 23:40:52.92ID:6cDpYi8T だったら、今時はssh接続一択じゃないんじゃないかなあ。それで万事解決のようなww
puttyでもTeratermでもssh接続ならちゃんとしているのでしょ?
puttyでもTeratermでもssh接続ならちゃんとしているのでしょ?
363デフォルトの名無しさん
2018/08/27(月) 23:42:31.94ID:6cDpYi8T 仕事ならなおさらssh接続一択のような。まあ、仕事では未だにtelnetでしかとかいうとこがあるかもしれないが、そうじゃないのは趣味や遊びと決めつけるあたり、ホントに仕事でやってんの?と疑問
364デフォルトの名無しさん
2018/08/27(月) 23:43:41.66ID:zX+eejgv わかったか
オマエがニートだと思ったから
それようの書き方してる
わかってしまうのが怖い
オマエがニートだと思ったから
それようの書き方してる
わかってしまうのが怖い
365デフォルトの名無しさん
2018/08/27(月) 23:44:35.56ID:6cDpYi8T 意味わからん。自信たっぷりだね。それだけはわかるw
366デフォルトの名無しさん
2018/08/27(月) 23:48:48.71ID:zX+eejgv telnet(オレはターミナルの例としてあげただけだ)はないにしても
xサーバーたちあげることはまずない
そんなもん使ってみればいいとか勧めてるいってる時点でな
残念なことに大体察しはつく
xサーバーたちあげることはまずない
そんなもん使ってみればいいとか勧めてるいってる時点でな
残念なことに大体察しはつく
367デフォルトの名無しさん
2018/08/27(月) 23:50:47.78ID:6cDpYi8T Xサーバー??何を言っているのか。Windows前提絶対でモノ言っているでしょ?Windowsつかわなきゃ仕事じゃないと言っているわけ??
Windowsでウィンドウシステムが起動してそれを使ってるのと同じだよ。Windows以外でも
Windowsでウィンドウシステムが起動してそれを使ってるのと同じだよ。Windows以外でも
368デフォルトの名無しさん
2018/08/27(月) 23:54:58.42ID:6cDpYi8T てか、なんでこのスレでWindows前提絶対やねんっ。別にいいけど、他の作業環境を知らない認めないのはナイな
369デフォルトの名無しさん
2018/08/27(月) 23:59:33.83ID:zX+eejgv なにをいってるのか って?
オマエがいってることが意味がわからんわ
Xサーバーたちあげないで
どうやってそのUNIXライクな計算機のwindowを表示するワケ
なにも分かってない頭悪いのが使ったつもりになってるのが分かったわ
コレはもう確定
オマエがいってることが意味がわからんわ
Xサーバーたちあげないで
どうやってそのUNIXライクな計算機のwindowを表示するワケ
なにも分かってない頭悪いのが使ったつもりになってるのが分かったわ
コレはもう確定
370デフォルトの名無しさん
2018/08/28(火) 00:04:36.83ID:Hq0PMDIz Linuxデスクトップでは普通に起動するでしょ?別に起動するって意識しなくて。Windowsでウィンドウシステムが起動しているのと同じだよ
このスレなんだから、Linuxメインで使っているのいてもおかしくもなんもないだろうにってことだけど?
Linuxを勧めるから仕事じゃないってw 俺のはLinuxでもWindowsでもないけど仕事でもよく/それなりに使われているんだけどなあ
このスレなんだから、Linuxメインで使っているのいてもおかしくもなんもないだろうにってことだけど?
Linuxを勧めるから仕事じゃないってw 俺のはLinuxでもWindowsでもないけど仕事でもよく/それなりに使われているんだけどなあ
371デフォルトの名無しさん
2018/08/28(火) 00:09:02.63ID:hby/BPp+ Linuxデスクトップとな。。。
ちなみにX端末ってなにかわかる?
ちなみにX端末ってなにかわかる?
372デフォルトの名無しさん
2018/08/28(火) 00:10:09.47ID:Hq0PMDIz どういう意味での?X端末は何もしないでXサーバが処理をするとかいう??
373デフォルトの名無しさん
2018/08/28(火) 00:12:57.46ID:Hq0PMDIz なんか老害?自分の古い知識でそれ前提絶対的なwもっと視野を広げた方がいいような。コンピュータ好きなら
374デフォルトの名無しさん
2018/08/28(火) 00:13:46.49ID:hby/BPp+ まあた始まった
クソニートなの
もうバレてんのに
クソニートなの
もうバレてんのに
375デフォルトの名無しさん
2018/08/28(火) 00:15:11.79ID:Hq0PMDIz376デフォルトの名無しさん
2018/08/28(火) 00:24:53.71ID:SLlsMMxP さて、便秘薬でも飲むとするか
377デフォルトの名無しさん
2018/08/28(火) 00:31:12.44ID:ZccLN8yq え? テレタイプ(TeleTYpe)がどうしたって?
378デフォルトの名無しさん
2018/08/28(火) 06:15:37.18ID:xeMH1v/N 半角くん、こっちにいたのか。
よかったら「cursorライブラリ」のことを教えてくれないか?
curses なら知ってるんだが、俺は無知なんだ。
よかったら「cursorライブラリ」のことを教えてくれないか?
curses なら知ってるんだが、俺は無知なんだ。
379デフォルトの名無しさん
2018/08/28(火) 06:39:27.97ID:gikJ8/5D >>378
やめてさしあげろw
やめてさしあげろw
380デフォルトの名無しさん
2018/08/28(火) 09:10:20.79ID:yK6EJuSE ウィンドウサイズ変えてもCOLUMNS LINESに正しい値が入ってるのは
親プロセスである対話的シェルがSIGWINCHハンドラで設定してくれてるからでしょ。
太古の昔の商用UNIXの/bin/shは設定してくれなかった気がする。
現代でも親プロセスがシェルじゃない場合には、
正しく設定されてない可能性がある。
まあシェルスクリプトならCOLUMNS LINES がもし設定されていれば
それを使えばいいとは思うけどね。
親プロセスである対話的シェルがSIGWINCHハンドラで設定してくれてるからでしょ。
太古の昔の商用UNIXの/bin/shは設定してくれなかった気がする。
現代でも親プロセスがシェルじゃない場合には、
正しく設定されてない可能性がある。
まあシェルスクリプトならCOLUMNS LINES がもし設定されていれば
それを使えばいいとは思うけどね。
381デフォルトの名無しさん
2018/08/28(火) 10:39:39.47ID:gikJ8/5D ていうかCOLUMNS環境変数とかは設定されるべきとの勧告があるのか。
382デフォルトの名無しさん
2018/08/28(火) 18:07:03.95ID:+71nChns シェルスクリプトで引数を取り扱ういい方法はないでしょうか?
getoptとかgetoptsがあるのは知っています。
ですが、例えば cp みたいに、cp -a a b とかけるが
cp a -a b や cp a b -a というふうにオプションの順番を入れ替えても動くとか
gitみたいにサブコマンドが使えて、
git --no-pager log --stat のように--no-pagerはgitのオプション、
--statはlogのオプションみたいにする方法がよくわかりません
頑張ればできると思いますが、複雑になりそうです。
なにかいい方法はないでしょうか?
なお他言語を使うとか言うのは禁止です。
getoptとかgetoptsがあるのは知っています。
ですが、例えば cp みたいに、cp -a a b とかけるが
cp a -a b や cp a b -a というふうにオプションの順番を入れ替えても動くとか
gitみたいにサブコマンドが使えて、
git --no-pager log --stat のように--no-pagerはgitのオプション、
--statはlogのオプションみたいにする方法がよくわかりません
頑張ればできると思いますが、複雑になりそうです。
なにかいい方法はないでしょうか?
なお他言語を使うとか言うのは禁止です。
383デフォルトの名無しさん
2018/08/28(火) 18:11:08.70ID:+71nChns 忘れてましたが、 ls ーal でも ls ーla みたいな書き方にも対応したいし、
git --exec-path=path でも git --exec-path path でも良かったりとか
git --exec-path でもOKとか、みんなどうやって引数解析してるんでしょうか?
git --exec-path=path でも git --exec-path path でも良かったりとか
git --exec-path でもOKとか、みんなどうやって引数解析してるんでしょうか?
384デフォルトの名無しさん
2018/08/28(火) 19:06:24.55ID:C1AWmFJx みんなは頑張ってやっている。
頑張らないでやる方法は他の言語とライブラリを使う。
頑張らないでやる方法は他の言語とライブラリを使う。
385デフォルトの名無しさん
2018/08/28(火) 21:17:43.19ID:gikJ8/5D あなたとしてはgetopt(1)はシェルスクリプトとは別の言語ではないのかな?
思いきり外部コマンドなんだけど……。
思いきり外部コマンドなんだけど……。
386デフォルトの名無しさん
2018/08/28(火) 21:23:37.21ID:+71nChns POSIXできまっていて、どの環境にも入ってるものならOKです。
387デフォルトの名無しさん
2018/08/28(火) 21:30:00.13ID:Hq0PMDIz Cで書かれたものを例に出している時点で変だけどな。それで他言語を使うとか言うのは禁止とか
まあ、シェルスクリプトでも頑張ってる人はググればすぐ出てくるな
まあ、シェルスクリプトでも頑張ってる人はググればすぐ出てくるな
388デフォルトの名無しさん
2018/08/28(火) 21:41:08.24ID:gikJ8/5D389デフォルトの名無しさん
2018/08/28(火) 21:42:55.17ID:gikJ8/5D オプション解析とはまったく関係ないんだが
確かこのスレかその前あたりでaliasの可能性について論じてた人がいたよね
あれどうなったのかな。個人的にすごく興味がある。
確かこのスレかその前あたりでaliasの可能性について論じてた人がいたよね
あれどうなったのかな。個人的にすごく興味がある。
390デフォルトの名無しさん
2018/08/28(火) 21:44:16.50ID:tpGA+DOm >なお他言語を使うとか言うのは禁止です。
ずいぶん偉そうだね
ずいぶん偉そうだね
391デフォルトの名無しさん
2018/08/28(火) 21:45:59.04ID:ZccLN8yq 原理主義者クサイ
392デフォルトの名無しさん
2018/08/28(火) 21:54:24.12ID:Hq0PMDIz ロングオプションはgetopt_longでかなり幸せになっているよう。POSIXには(まだ)入っていない
gitは、まあ、大変。読む気は無くなるw
https://github.com/git/git/blob/master/git.c
CではCでも
gitは、まあ、大変。読む気は無くなるw
https://github.com/git/git/blob/master/git.c
CではCでも
393デフォルトの名無しさん
2018/08/28(火) 22:09:30.12ID:+71nChns394デフォルトの名無しさん
2018/08/28(火) 22:13:41.39ID:Hq0PMDIz どういうネタやねんwまあ、頑張りや
395デフォルトの名無しさん
2018/08/28(火) 22:19:33.48ID:gikJ8/5D >>393
もうちょっと勉強したら?
俺 学部生だぜ? ガキに知識で負けてくやしいよね?
OpenGroupっていうのはさ POSIXを制定している企業なんだわ。
つまりそこがPOSIX標準を定めてるってこと。
だからgetopt(3)はPOSIXに準拠したオプション解析器ってことだ。
どう? 理解した? これでも分からなきゃ相当 馬鹿 だなお前は。
もうちょっと勉強したら?
俺 学部生だぜ? ガキに知識で負けてくやしいよね?
OpenGroupっていうのはさ POSIXを制定している企業なんだわ。
つまりそこがPOSIX標準を定めてるってこと。
だからgetopt(3)はPOSIXに準拠したオプション解析器ってことだ。
どう? 理解した? これでも分からなきゃ相当 馬鹿 だなお前は。
396デフォルトの名無しさん
2018/08/28(火) 22:21:11.28ID:Hq0PMDIz そうムキにならんくていいだろう。>>393なんて人はいない、ネタネタ
397デフォルトの名無しさん
2018/08/28(火) 22:36:33.43ID:+71nChns398デフォルトの名無しさん
2018/08/28(火) 22:41:19.86ID:+71nChns >>387
> Cで書かれたものを例に出している時点で変だけどな。
それな。C言語の話もしてないのに、
なんでそれ持ってきたのかもわからん
なんか根本的なところで勘違いしてる気がする。
まあ所詮学生だしな
> Cで書かれたものを例に出している時点で変だけどな。
それな。C言語の話もしてないのに、
なんでそれ持ってきたのかもわからん
なんか根本的なところで勘違いしてる気がする。
まあ所詮学生だしな
399デフォルトの名無しさん
2018/08/28(火) 22:47:19.25ID:Hq0PMDIz400デフォルトの名無しさん
2018/08/28(火) 22:49:42.88ID:+71nChns >>399
え?なに?つーことはお前もずれてるじゃん
gitのようなオプション(つまりgitは例)を
シェルスクリプトで解析するって話なのに
なんでgitはC言語でかかれていますーなんて話になるの?
意味がわからんが、説明できる?
(学生さんは図星だったようでだまっちゃったみたいだけどさw)
え?なに?つーことはお前もずれてるじゃん
gitのようなオプション(つまりgitは例)を
シェルスクリプトで解析するって話なのに
なんでgitはC言語でかかれていますーなんて話になるの?
意味がわからんが、説明できる?
(学生さんは図星だったようでだまっちゃったみたいだけどさw)
401デフォルトの名無しさん
2018/08/28(火) 22:53:12.08ID:Hq0PMDIz Cで書かれてるのを例に出してるんだから、Cでまずはだろう。そこすっとばして、どうやってんのシェルでって意味通じないよ
てか、ちょっと素が出てきてるねえって感じ。ご苦労さん。なにしたいねん
てか、ちょっと素が出てきてるねえって感じ。ご苦労さん。なにしたいねん
402デフォルトの名無しさん
2018/08/28(火) 22:54:52.38ID:+71nChns403デフォルトの名無しさん
2018/08/28(火) 22:57:40.65ID:+71nChns もしかして、オプションの例として、gitのこういうオプションを
シェルスクリプト取り扱いたいですって言ったから、
C言語の話をしてると思ったの?
シェルスクリプト取り扱いたいですって言ったから、
C言語の話をしてると思ったの?
404デフォルトの名無しさん
2018/08/28(火) 23:00:52.68ID:Hq0PMDIz マジなのか?うそだろーw
>gitみたいにサブコマンドが使えて、
>git --no-pager log --stat のように--no-pagerはgitのオプション、
>--statはlogのオプションみたいにする方法がよくわかりません
gitのをしたいんでしょ?する方法がよくわかりませんって、Cでやってるとこを言っているんでしょ?
ロングオプションにしたってそう。Cでやってることをどうやってるって聞いてんだから、Cの話だろうに
あえてあんたよりにすると、「シェルで実現するにはどうしたらいいですか、または、可能ですか?」だな
>gitみたいにサブコマンドが使えて、
>git --no-pager log --stat のように--no-pagerはgitのオプション、
>--statはlogのオプションみたいにする方法がよくわかりません
gitのをしたいんでしょ?する方法がよくわかりませんって、Cでやってるとこを言っているんでしょ?
ロングオプションにしたってそう。Cでやってることをどうやってるって聞いてんだから、Cの話だろうに
あえてあんたよりにすると、「シェルで実現するにはどうしたらいいですか、または、可能ですか?」だな
405デフォルトの名無しさん
2018/08/28(火) 23:02:58.05ID:+71nChns > gitのをしたいんでしょ?する方法がよくわかりませんって、Cでやってるとこを言っているんでしょ?
だからgitがCでやっているようなことを
シェリスクリプトでやりたいんですが?
> Cでやってることをどうやってるって聞いてんだから、Cの話だろうに
Cでやってることを(シェルスクリプトで)どうやるって聞いてんだから、シェルスクリプトの話だろうに
あと>>2を読もう
> ・シェルスクリプトのことをシェルってゆうな
はぁ、レベルの低いやつに目をつけあられたな
日本語もろくに理解できてない
だからgitがCでやっているようなことを
シェリスクリプトでやりたいんですが?
> Cでやってることをどうやってるって聞いてんだから、Cの話だろうに
Cでやってることを(シェルスクリプトで)どうやるって聞いてんだから、シェルスクリプトの話だろうに
あと>>2を読もう
> ・シェルスクリプトのことをシェルってゆうな
はぁ、レベルの低いやつに目をつけあられたな
日本語もろくに理解できてない
406デフォルトの名無しさん
2018/08/28(火) 23:03:17.46ID:Hq0PMDIz407デフォルトの名無しさん
2018/08/28(火) 23:04:02.06ID:Hq0PMDIz 会話にならない。俺が悪いのか??w
408デフォルトの名無しさん
2018/08/28(火) 23:06:22.48ID:+71nChns > 頑張ればできると思いますが、複雑になりそうです。
と書いてるのに、
複雑になるのが嫌だということも読めていないようだ
Cのコードがシンプルならまだしも、複雑なものを見せて
シェルスクリプトでもCのまねして書け。複雑に書け
とか、全然答えになってないですわ
と書いてるのに、
複雑になるのが嫌だということも読めていないようだ
Cのコードがシンプルならまだしも、複雑なものを見せて
シェルスクリプトでもCのまねして書け。複雑に書け
とか、全然答えになってないですわ
409デフォルトの名無しさん
2018/08/28(火) 23:06:39.91ID:Hq0PMDIz410デフォルトの名無しさん
2018/08/28(火) 23:06:43.85ID:+71nChns >>407
はい
はい
411デフォルトの名無しさん
2018/08/28(火) 23:07:59.71ID:Hq0PMDIz412デフォルトの名無しさん
2018/08/28(火) 23:10:58.04ID:+71nChns ん?まさかと思うが、git "みたいな" オプションを使いたいって話を
例だとわからずに、本当にgitのオプションをそのまま扱うとか
勘違いしてないか?
一行目に
> シェルスクリプトで引数を取り扱ういい方法はないでしょうか?
と書いてあるから、間違うわけ無いと思うが?
> gitみたいにサブコマンドが使えて、
と書いてるのに「みたい」って文字を見逃して、
まんまgitのオプションを扱う方法だと思いこんで、
gitのオプション扱うなら、C言語のソースみればいいだろとか?
うわー、そう理解してしまうのは本気でやばい。ダメな方に意味でやばい
例だとわからずに、本当にgitのオプションをそのまま扱うとか
勘違いしてないか?
一行目に
> シェルスクリプトで引数を取り扱ういい方法はないでしょうか?
と書いてあるから、間違うわけ無いと思うが?
> gitみたいにサブコマンドが使えて、
と書いてるのに「みたい」って文字を見逃して、
まんまgitのオプションを扱う方法だと思いこんで、
gitのオプション扱うなら、C言語のソースみればいいだろとか?
うわー、そう理解してしまうのは本気でやばい。ダメな方に意味でやばい
413デフォルトの名無しさん
2018/08/28(火) 23:12:22.86ID:Hq0PMDIz モノホンだったら怖過ぎですよ
414デフォルトの名無しさん
2018/08/28(火) 23:14:57.35ID:+71nChns 仕切り直すわ。なんでこの文章で理解できないのかわからないが、
ちゃんと補足する。
シェルスクリプトで引数を取り扱ういい方法はないでしょうか?
getoptとかgetoptsがあるのは知っています。
くり返しいいます。
getoptとかgetoptsがあるのは知っています。
ですが、例えば cp みたいに、cp -a a b とかけるが
cp a -a b や cp a b -a というふうにオプションの順番を入れ替えても動くとか
(もちろんcpは例です。cpみたいなと言ってるわけで、cpのオプションを
扱いたいなんて言っていません)
gitみたいにサブコマンドが使えて、
git --no-pager log --stat のように--no-pagerはgitのオプション、
--statはlogのオプションみたいにする方法がよくわかりません
(もちろんgitは例です。gitみたいなと言ってるわけで、gitのオプションを
扱いたいなんて言っていません)
頑張ればできると思いますが、複雑になりそうです。
(gitのC言語のソースのような複雑なコードは書きたくないです)
なにかいい方法はないでしょうか?
なお他言語を使うとか言うのは禁止です。
ちゃんと補足する。
シェルスクリプトで引数を取り扱ういい方法はないでしょうか?
getoptとかgetoptsがあるのは知っています。
くり返しいいます。
getoptとかgetoptsがあるのは知っています。
ですが、例えば cp みたいに、cp -a a b とかけるが
cp a -a b や cp a b -a というふうにオプションの順番を入れ替えても動くとか
(もちろんcpは例です。cpみたいなと言ってるわけで、cpのオプションを
扱いたいなんて言っていません)
gitみたいにサブコマンドが使えて、
git --no-pager log --stat のように--no-pagerはgitのオプション、
--statはlogのオプションみたいにする方法がよくわかりません
(もちろんgitは例です。gitみたいなと言ってるわけで、gitのオプションを
扱いたいなんて言っていません)
頑張ればできると思いますが、複雑になりそうです。
(gitのC言語のソースのような複雑なコードは書きたくないです)
なにかいい方法はないでしょうか?
なお他言語を使うとか言うのは禁止です。
415デフォルトの名無しさん
2018/08/28(火) 23:17:00.32ID:gikJ8/5D416デフォルトの名無しさん
2018/08/28(火) 23:17:57.87ID:+71nChns >>415
gitは忘れてください
gitは忘れてください
417デフォルトの名無しさん
2018/08/28(火) 23:18:19.53ID:+71nChns gitの話はしていません。オプションの話をしています。
418デフォルトの名無しさん
2018/08/28(火) 23:19:04.23ID:gikJ8/5D だいたいgitがどうやってオプション解析してるかも知らずに
よくもまあぬけぬけと「getoptは使わない方針で」と言えたもんだな
いままでそんなゴミみたいな思考回路で生きてきて恥かしくないのかね
よくもまあぬけぬけと「getoptは使わない方針で」と言えたもんだな
いままでそんなゴミみたいな思考回路で生きてきて恥かしくないのかね
419デフォルトの名無しさん
2018/08/28(火) 23:19:26.80ID:Hq0PMDIz■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】2026年北中米W杯の組み合わせが決定! 日本代表はオランダ、チュニジア、欧州プレーオフB勝者と同組で激突★3 [冬月記者★]
- 渡邊渚「性を売ってるくせに」批判に反論 幻滅「これが日本の現状だよなー」「『渾身の下着!』というような意味でやってない」★3 [Ailuropoda melanoleuca★]
- 【鮭】20代女性の車のドアノブに体液、不同意わいせつ未遂の容疑で広島市安佐北区の30歳無職男を逮捕 [nita★]
- 鈴木農相、地元JAから借入金 おこめ券巡り利害誘導との批判も★2 [安倍聖帝★]
- 【芸能】批判招いた「ドラゴンボールストア」イラスト問題に原作編集者マシリト氏が厳しく言及 問題点指摘 [湛然★]
- 米国、ホワイトカラーよりブルーカラーが重視される社会になってしまう、AIの影響で25年大卒者は就職難に直面 ★2 [お断り★]
- 【NHK他】FIFAワールドカップ2026 はじまらない組み合わせ抽選★4
- 競輪実況★1620
- とらせんIP ★2
- ハム専 サヨナラ石井
- こいせん 全レス転載禁止
- 【フジテレビ】2025 FORMULA 1【NEXT】Lap611
- 食材となるものはな、罪があったから食材にされるんだよ
- なんで魚の缶詰はあるのに肉の缶詰はないんやろ
- 【高市悲報】プリキュア「いま私たちは環境問題に関心があるの」 プリオタ「ギェェェェェ思想が強すぎる!!」大炎上🔥 [762037879]
- 「あ、畳か」→画像を削除する→何も書き込まずにスレを閉じる
- 3大もう違法にしたほうがいいモノ「撮り鉄」「お酒」
- 今はもう動かないおじいさんにトドメ~
