シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
前スレ: シェルスクリプト総合 その34
https://mevius.5ch.net/test/read.cgi/tech/1597990675/
シェルスクリプト総合 その35
■ このスレッドは過去ログ倉庫に格納されています
2020/11/24(火) 21:37:20.06ID:mbTiTj6s
133デフォルトの名無しさん
2020/12/03(木) 16:19:47.96ID:U4KcZC74134デフォルトの名無しさん
2020/12/03(木) 16:22:27.43ID:3lw1+h2j > 日付の計算はシリアルな値=ある起点(OSやフレームワークによる)からの秒数 をベースでやるのが普通
が真なら
86400秒足せばOKだろw
が真なら
86400秒足せばOKだろw
135デフォルトの名無しさん
2020/12/03(木) 16:25:05.27ID:U4KcZC74136デフォルトの名無しさん
2020/12/03(木) 16:26:23.68ID:3lw1+h2j だからPOSIXじゃ明日の10時の年月日が出せないと言ってるんだが
137デフォルトの名無しさん
2020/12/03(木) 16:30:21.85ID:U4KcZC74138デフォルトの名無しさん
2020/12/03(木) 16:31:40.83ID:U4KcZC74139デフォルトの名無しさん
2020/12/03(木) 16:33:17.90ID:3lw1+h2j だからできるだろ
日付の計算はシリアルな値でやるんだからw
日付の計算はシリアルな値でやるんだからw
140デフォルトの名無しさん
2020/12/03(木) 16:38:34.33ID:U4KcZC74 もう全くわかってませんという自己紹介はいらんぞw
ちなみに、今日(今)の明日(というかどこまでかはわからんが、何時間/何日前後) の年月日はPOSIXでもトリッキーにできそうなのは上にあるだろに
ちなみに、今日(今)の明日(というかどこまでかはわからんが、何時間/何日前後) の年月日はPOSIXでもトリッキーにできそうなのは上にあるだろに
141デフォルトの名無しさん
2020/12/03(木) 17:37:06.10ID:Glofd6fS142デフォルトの名無しさん
2020/12/03(木) 19:26:57.20ID:3lw1+h2j143デフォルトの名無しさん
2020/12/04(金) 00:45:50.04ID:ECFKf8K5 >>121
いや,date(1)の呼び出しは一回で済むでしょう。
POSIXに拘ろうが拘らまいが,「ある瞬間の24時間後」
を知りたければUNIX時刻と普通の時刻を変換すればいい。
ちなみに「UNIX時刻はPOSIXのdateコマンドでは出せない/変換できない!」
って思ってる人も居そうだが,普通にできる。
いや,date(1)の呼び出しは一回で済むでしょう。
POSIXに拘ろうが拘らまいが,「ある瞬間の24時間後」
を知りたければUNIX時刻と普通の時刻を変換すればいい。
ちなみに「UNIX時刻はPOSIXのdateコマンドでは出せない/変換できない!」
って思ってる人も居そうだが,普通にできる。
144デフォルトの名無しさん
2020/12/04(金) 01:18:58.36ID:iavYwWUx Dateとして一回Calendarとして一回、二回は必要だろう
元のはCalendarとして二回使ってる感じかな
何言っているかわからんだろうけど
元のはCalendarとして二回使ってる感じかな
何言っているかわからんだろうけど
145デフォルトの名無しさん
2020/12/04(金) 01:24:55.12ID:HyuHUD7c146デフォルトの名無しさん
2020/12/04(金) 01:25:29.92ID:HyuHUD7c147デフォルトの名無しさん
2020/12/04(金) 01:48:29.11ID:HyuHUD7c148デフォルトの名無しさん
2020/12/04(金) 01:59:44.65ID:8vYOAEQt 論より証拠というやつで、実際にスクリプトを書いてみたらいいんだ
で書けたらそれを貼る、書けなかったらごめんなさいする
で書けたらそれを貼る、書けなかったらごめんなさいする
149デフォルトの名無しさん
2020/12/04(金) 02:08:43.91ID:iavYwWUx >>147
POSIXもそうだが、概念としてのDate(Time)とCalendarは当然のようにあるってことだよ
dateコマンドは機能は限定されているがその2つの概念を内包してる。他の言語ではクラスとして明確にわかりやすいように(?)存在するってだけだな
POSIXは「システムクロックを」に固執/それ対象なのが痛くてあまり使えなさそうなだけで
POSIXもそうだが、概念としてのDate(Time)とCalendarは当然のようにあるってことだよ
dateコマンドは機能は限定されているがその2つの概念を内包してる。他の言語ではクラスとして明確にわかりやすいように(?)存在するってだけだな
POSIXは「システムクロックを」に固執/それ対象なのが痛くてあまり使えなさそうなだけで
150デフォルトの名無しさん
2020/12/04(金) 02:33:22.25ID:3npkCfBA 普通の暮らしで使ってる日付なのに
普通の暮らしで接してるからこんな話題でもあまりよく考えてないから計算でできると思い込んで言っちゃうんだろうな。今までそういうのも書いたこともなく
そんなのが機会があって自分で書いたら落とし穴に落ちたのを書きそう
さすがに今時はそう見事に簡単に落とし穴に落ちたのを書かないとは思うが、書きそうでもある
普通の暮らしで接してるからこんな話題でもあまりよく考えてないから計算でできると思い込んで言っちゃうんだろうな。今までそういうのも書いたこともなく
そんなのが機会があって自分で書いたら落とし穴に落ちたのを書きそう
さすがに今時はそう見事に簡単に落とし穴に落ちたのを書かないとは思うが、書きそうでもある
151デフォルトの名無しさん
2020/12/04(金) 08:13:05.53ID:HyuHUD7c152デフォルトの名無しさん
2020/12/04(金) 08:32:14.34ID:8vYOAEQt ふつうJavaのプログラミングの経験ぐらいないか? ないのかw
なんか話がこじれてるが、dateコマンドの呼び出しを1回で済ませると言った人、
そーす(スクリプト)ぷりーず。
なんか話がこじれてるが、dateコマンドの呼び出しを1回で済ませると言った人、
そーす(スクリプト)ぷりーず。
153デフォルトの名無しさん
2020/12/04(金) 09:43:14.21ID:HyuHUD7c154デフォルトの名無しさん
2020/12/04(金) 10:31:19.91ID:ySoYx7WA Java”だけ"だと思ってるんだからなあ。知識が無さすぎなのが顕著だな
こいついつものやつか?
自分の知らないこと話すなマウント取れないからってことだろうとしか思えないw
こいついつものやつか?
自分の知らないこと話すなマウント取れないからってことだろうとしか思えないw
15573
2020/12/04(金) 10:53:02.32ID:sfksvFP9 >>113
time='12:00' # 求める時間
# 現在・今日・明日の文字列。年月日-時分秒。2020-12-02T14:00:00
com='date +%Y-%m-%dT%H:%M:%S'
now=`$com`
today=`$com --date="$time today"`
tomorrow=`$com --date="$time tomorrow"`
これは、日をまたいだ場合に、バグる。
例えば、nowが4日で、todayが5日で、tomorrowが6日とか
複数回コマンドを呼ぶと、その間も時間が進むから、バグる。
1回だけコマンドを呼ぶ方が安全
ただし、処理している間も時間が進むから、
9:59:59 秒に、処理を開始して、10:00:00 と解答を得たとしても、
処理が終わった時には、その時刻を過ぎているかも知れない
それと、夏時間・うるう秒などにも、注意
time='12:00' # 求める時間
# 現在・今日・明日の文字列。年月日-時分秒。2020-12-02T14:00:00
com='date +%Y-%m-%dT%H:%M:%S'
now=`$com`
today=`$com --date="$time today"`
tomorrow=`$com --date="$time tomorrow"`
これは、日をまたいだ場合に、バグる。
例えば、nowが4日で、todayが5日で、tomorrowが6日とか
複数回コマンドを呼ぶと、その間も時間が進むから、バグる。
1回だけコマンドを呼ぶ方が安全
ただし、処理している間も時間が進むから、
9:59:59 秒に、処理を開始して、10:00:00 と解答を得たとしても、
処理が終わった時には、その時刻を過ぎているかも知れない
それと、夏時間・うるう秒などにも、注意
156デフォルトの名無しさん
2020/12/04(金) 11:07:30.74ID:ECFKf8K5 echo $(( $(TZ=GMT0 date \
+"((%Y-1600)*365+(%Y-1600)/4-(%Y-1600)/100+(%Y-1600)/400+1%j-1000-135140)\
*86400+(1%H-100)*3600+(1%M-100)*60+(1%S-100)") ))
↑これで現在のUnix時刻が求まる。
これに「明日まで」の秒数を足して
https://github.com/ShellShoccar-jpn/misc-tools/blob/master/utconv
↑これで元の時刻表記に変換し直せばいい。
+"((%Y-1600)*365+(%Y-1600)/4-(%Y-1600)/100+(%Y-1600)/400+1%j-1000-135140)\
*86400+(1%H-100)*3600+(1%M-100)*60+(1%S-100)") ))
↑これで現在のUnix時刻が求まる。
これに「明日まで」の秒数を足して
https://github.com/ShellShoccar-jpn/misc-tools/blob/master/utconv
↑これで元の時刻表記に変換し直せばいい。
157デフォルトの名無しさん
2020/12/04(金) 12:46:44.71ID:yENL1Rc+ それって date +%s じゃ駄目なんだっけ。
time=12:00:00 として、
now=$(date +%s) で現在の時刻をUNIX時刻で求めたら
$(date -d @$now +%Y-%m-%dT$time) が今日の time の日付、よって
$(date +%s -d $(date -d @$now +%Y-%m-%dT$time)) がそのUNIX時刻。
これに86400秒を足して明日の時刻にするとして
$(($(date +%s -d $(date -d @$now +%Y-%m-%dT$time)) + 86400)) が明日の time の
UNIX時刻。
でこれらを更にdateに渡してそれぞれの時刻列を得る。dateメチャクチャ呼びまくりw
time=12:00:00 として、
now=$(date +%s) で現在の時刻をUNIX時刻で求めたら
$(date -d @$now +%Y-%m-%dT$time) が今日の time の日付、よって
$(date +%s -d $(date -d @$now +%Y-%m-%dT$time)) がそのUNIX時刻。
これに86400秒を足して明日の時刻にするとして
$(($(date +%s -d $(date -d @$now +%Y-%m-%dT$time)) + 86400)) が明日の time の
UNIX時刻。
でこれらを更にdateに渡してそれぞれの時刻列を得る。dateメチャクチャ呼びまくりw
158デフォルトの名無しさん
2020/12/04(金) 12:55:10.42ID:HyuHUD7c159デフォルトの名無しさん
2020/12/04(金) 12:55:33.77ID:HyuHUD7c160デフォルトの名無しさん
2020/12/04(金) 12:55:34.58ID:yENL1Rc+161デフォルトの名無しさん
2020/12/04(金) 13:04:25.05ID:HyuHUD7c ネパールって時差15分単位のずれなのかw
https://nepal-lovers.com/2017/10/nepal-time-difference/
https://nepal-lovers.com/2017/10/nepal-time-difference/
162デフォルトの名無しさん
2020/12/04(金) 13:22:53.16ID:2+VKdPy1 なぜかチョンは日本と同じにしてる
日本のほうが早いなんて許せないらしい
誇り高い民族だよね。あっぱれ!
日本のほうが早いなんて許せないらしい
誇り高い民族だよね。あっぱれ!
163デフォルトの名無しさん
2020/12/04(金) 13:35:49.85ID:HyuHUD7c 朝鮮は、日本の最西端と最東端の間にあるだろ
164デフォルトの名無しさん
2020/12/04(金) 18:33:51.60ID:9vuroJRJ >>158
概念としての話だってのに、概念がわかりませんだからなあ
POSIXのそこらのC関数も当てはまる話だってのに、概念がわからないんだからなあ
概念の例としてわかりやすい形になってるのが、オブジェクトな言語でのフレームワークでって話なんだが、理解する気もなく「言うな」なんだからなあ
お前は入ってこなくていいよ、もう理解する気もなく文句言うだけなんだから
概念としての話だってのに、概念がわかりませんだからなあ
POSIXのそこらのC関数も当てはまる話だってのに、概念がわからないんだからなあ
概念の例としてわかりやすい形になってるのが、オブジェクトな言語でのフレームワークでって話なんだが、理解する気もなく「言うな」なんだからなあ
お前は入ってこなくていいよ、もう理解する気もなく文句言うだけなんだから
165デフォルトの名無しさん
2020/12/04(金) 18:42:24.91ID:gBsgQLOE Javaや特定言語専用の概念を
このスレでするなって話だろ
このスレでするなって話だろ
166デフォルトの名無しさん
2020/12/04(金) 18:46:53.85ID:9vuroJRJ >>160
$ TZ=GMT-9 date;TZ=GMT-8:59 date
Fri Dec 4 18:39:52 GMT 2020
Fri Dec 4 18:38:52 GMT 2020
使えそうではあるね。Linux/BSD共に
だがしかし、Linuxでは最大は24時間(24時間59分?)のよう。実際の時差(日本では9時間が入るからそれがプラマイ。使えねぇ。まあLinuxならdateはGNU dateに決まってる(?)だろうから無理してPOSIXに拘ることもないか
ちなみに、BSDは168(何やこの中途半端なと思ったら7日1週間だった)
$ TZ=GMT-9 date;TZ=GMT-8:59 date
Fri Dec 4 18:39:52 GMT 2020
Fri Dec 4 18:38:52 GMT 2020
使えそうではあるね。Linux/BSD共に
だがしかし、Linuxでは最大は24時間(24時間59分?)のよう。実際の時差(日本では9時間が入るからそれがプラマイ。使えねぇ。まあLinuxならdateはGNU dateに決まってる(?)だろうから無理してPOSIXに拘ることもないか
ちなみに、BSDは168(何やこの中途半端なと思ったら7日1週間だった)
167デフォルトの名無しさん
2020/12/04(金) 18:47:46.31ID:NVkYzPbW でもまあどちらにしろdateを2回呼んでるからタイミング次第ではバグになるよね
168デフォルトの名無しさん
2020/12/04(金) 18:49:06.33ID:NVkYzPbW > まあLinuxならdateはGNU dateに決まってる(?)だろうから
Alpine LinuxだとBusyBox
Alpine LinuxだとBusyBox
169デフォルトの名無しさん
2020/12/04(金) 18:50:44.54ID:9vuroJRJ >>165
>POSIXのそこらのC関数も当てはまる話だってのに、〜
>概念の例としてわかりやすい形になってるのが、〜
って言ってるのに。読めなさすぎだろう。方々で似たような実装なのは、特定言語特有の話ではなくコンピュータサイエンスwとしてのだからだろうにな
シェルスクリプトしか知りません興味ありませんすぎだろう
>POSIXのそこらのC関数も当てはまる話だってのに、〜
>概念の例としてわかりやすい形になってるのが、〜
って言ってるのに。読めなさすぎだろう。方々で似たような実装なのは、特定言語特有の話ではなくコンピュータサイエンスwとしてのだからだろうにな
シェルスクリプトしか知りません興味ありませんすぎだろう
170デフォルトの名無しさん
2020/12/04(金) 18:55:02.87ID:9vuroJRJ171デフォルトの名無しさん
2020/12/04(金) 20:20:16.74ID:9vuroJRJ >>170,169
機能削除してるくせにオレオレもなのか...?? GNUソースベースというより新規なのかな?
BusyBox環境を試す気は全くないので何とくなくこんなんなんだろうという仮定で、
SEC2DATE="$(date --help 2>&1 | awk '
/-f fmt/{ print "date -j -f %s "; m=1; exit 0; } # BSD
/-D FMT/{ print "date -D %s -d "; m=1; exit 0; } # BusyBox case1
/-D FMT/{ print "date -d 1970.01.01-00:00:"; m=1; exit 0; } # BusyBox case2
END{ if(!m) print "date -d @"; }')" # default to GNU
な感じで吸収してみた(判断材料とかはお好きに。OSの種類で決め打ちとかな)
case1 なら BSDに合わせろw いや、どれもどこかに合わせろw
いや、その役割はPOSIXか。必要最低限のこれらだけを入れてくれればCalendar(しつこいw)として「使える」のに(システムタイムにこだわるならBSDのが素直かなw)
secs=$(date +%s)
[ $($SEC2DATE$secs +%H) -ge 10 ] && secs=$((secs + 86400))
$SEC2DATE$secs +'%Y-%m-%d 10:00:00'
実際はこれだけをしたいだけなのにな。どれかに統一されてたらもっと素直な表記で書けるのに
date回数に煩いんだったら
read secs hh < <(date +'%s %H')
[ $hh -ge 10 ] && secs=$((secs + 86400))
$SEC2DATE$secs +'%Y-%m-%d 10:00:00'
とかにでもとかとか。ある意味もっと素直かなw
機能削除してるくせにオレオレもなのか...?? GNUソースベースというより新規なのかな?
BusyBox環境を試す気は全くないので何とくなくこんなんなんだろうという仮定で、
SEC2DATE="$(date --help 2>&1 | awk '
/-f fmt/{ print "date -j -f %s "; m=1; exit 0; } # BSD
/-D FMT/{ print "date -D %s -d "; m=1; exit 0; } # BusyBox case1
/-D FMT/{ print "date -d 1970.01.01-00:00:"; m=1; exit 0; } # BusyBox case2
END{ if(!m) print "date -d @"; }')" # default to GNU
な感じで吸収してみた(判断材料とかはお好きに。OSの種類で決め打ちとかな)
case1 なら BSDに合わせろw いや、どれもどこかに合わせろw
いや、その役割はPOSIXか。必要最低限のこれらだけを入れてくれればCalendar(しつこいw)として「使える」のに(システムタイムにこだわるならBSDのが素直かなw)
secs=$(date +%s)
[ $($SEC2DATE$secs +%H) -ge 10 ] && secs=$((secs + 86400))
$SEC2DATE$secs +'%Y-%m-%d 10:00:00'
実際はこれだけをしたいだけなのにな。どれかに統一されてたらもっと素直な表記で書けるのに
date回数に煩いんだったら
read secs hh < <(date +'%s %H')
[ $hh -ge 10 ] && secs=$((secs + 86400))
$SEC2DATE$secs +'%Y-%m-%d 10:00:00'
とかにでもとかとか。ある意味もっと素直かなw
172デフォルトの名無しさん
2020/12/04(金) 20:48:41.94ID:C8tBrA1L > case1 なら BSDに合わせろw いや、どれもどこかに合わせろw
まあ、それだな。
macOSもあるのでLinuxだけに準拠すればいいという時代じゃない
あとawkとかやめてくれまじで
まあ、それだな。
macOSもあるのでLinuxだけに準拠すればいいという時代じゃない
あとawkとかやめてくれまじで
173デフォルトの名無しさん
2020/12/04(金) 20:51:59.59ID:9vuroJRJ >>172
> awkとかやめてくれまじで
別に同じようなことできる他のを使えばいいだろう。そっちが素直に書けると思うなら、そういうように読み替えて
失礼ながら、マジでは以後も無視します。別に拘ってるわけでもないしね(使うことに/使わないことにどっちも)
> awkとかやめてくれまじで
別に同じようなことできる他のを使えばいいだろう。そっちが素直に書けると思うなら、そういうように読み替えて
失礼ながら、マジでは以後も無視します。別に拘ってるわけでもないしね(使うことに/使わないことにどっちも)
174デフォルトの名無しさん
2020/12/04(金) 20:53:34.79ID:C8tBrA1L > 別に同じようなことできる他の
ってなに?まさかPerlとは言わないよね?w
ってなに?まさかPerlとは言わないよね?w
175デフォルトの名無しさん
2020/12/04(金) 20:56:17.67ID:9vuroJRJ176デフォルトの名無しさん
2020/12/04(金) 21:51:54.12ID:rhOsBffZ (意訳) クッソー、マウント取れねぇじゃねぇか
177デフォルトの名無しさん
2020/12/04(金) 22:06:43.73ID:ECFKf8K5178デフォルトの名無しさん
2020/12/04(金) 22:08:20.50ID:ECFKf8K5179デフォルトの名無しさん
2020/12/04(金) 22:08:45.95ID:DO1guVvJ へえ
180デフォルトの名無しさん
2020/12/04(金) 22:11:28.39ID:UZX5oUlx181デフォルトの名無しさん
2020/12/04(金) 22:16:33.20ID:A/IGOY0L そう取るのも病気だな
182デフォルトの名無しさん
2020/12/04(金) 22:20:28.57ID:UZX5oUlx 反論は無しと、φ(..)メモメモ
183デフォルトの名無しさん
2020/12/04(金) 22:24:14.25ID:aYzT9jgU184デフォルトの名無しさん
2020/12/04(金) 22:26:47.45ID:UZX5oUlx ほらやっぱり反論は無しと、φ(..)メモメモ
185デフォルトの名無しさん
2020/12/04(金) 22:29:34.69ID:aYzT9jgU186デフォルトの名無しさん
2020/12/04(金) 22:36:07.76ID:UZX5oUlx 反対しないならレスしないでよ
POSIX準拠のクソ長いコードがでるのをまってるの
POSIX準拠のクソ長いコードがでるのをまってるの
187デフォルトの名無しさん
2020/12/04(金) 22:40:10.63ID:aYzT9jgU えーっw
そういうこというとなおさらあいつみたいな自己中自分だけの世界で生きてるやつに...w
まあ、なんらかの恥ずかしさからそう言っちゃったと受け取っておくよw
大人しく俺も待つよww
そういうこというとなおさらあいつみたいな自己中自分だけの世界で生きてるやつに...w
まあ、なんらかの恥ずかしさからそう言っちゃったと受け取っておくよw
大人しく俺も待つよww
188デフォルトの名無しさん
2020/12/04(金) 23:47:12.43ID:IqAXsol3 自分もPOSIX準拠の長いコード、とやらを見てみたい
189デフォルトの名無しさん
2020/12/05(土) 00:07:35.66ID:Q5wPn3Se190デフォルトの名無しさん
2020/12/05(土) 00:10:29.29ID:Q5wPn3Se 自分はポジックス信者ではないけど,
「BSDの場合はこうする,GNUの場合はこうする」っていうふうに
ダラダラ場合分けして長くなったコードより,
「POSIXに準拠する」ことを目的として長大になったコードの方が
どちらかというと良いと思うな。
GNU環境用とBSD環境用にコードを分けるのが一番賢いやりかただと思っているが。
「BSDの場合はこうする,GNUの場合はこうする」っていうふうに
ダラダラ場合分けして長くなったコードより,
「POSIXに準拠する」ことを目的として長大になったコードの方が
どちらかというと良いと思うな。
GNU環境用とBSD環境用にコードを分けるのが一番賢いやりかただと思っているが。
191デフォルトの名無しさん
2020/12/05(土) 01:06:34.20ID:8Ma0zJVZ ダラダラ場合分けして長くなったコードってどこにあるの?
一つの変数に場合によって一つの値を設定してるのが一箇所あるだけのコードのこと?
一つの変数に場合によって一つの値を設定してるのが一箇所あるだけのコードのこと?
192デフォルトの名無しさん
2020/12/05(土) 01:24:03.81ID:Tpji0Itw > 「POSIXに準拠する」ことを目的として長大になったコードの方
これもどれのことかわからん
これもどれのことかわからん
193デフォルトの名無しさん
2020/12/05(土) 01:36:28.83ID:Tpji0Itw まさかPOSIX準拠のクソ長いコードって>>156のコードのことなのか?
あれはシェルスクリプトの部分はごく僅かでほぼ9割がawkスクリプト
しかもオプション解析とか無駄なことをやってるからクソ長くなってるだけ
いやアルゴリズムもなんかムダに長い気がするな
あれみていってるなら、POSIX準拠とはクソ長いは全く関係ない
あれはシェルスクリプトの部分はごく僅かでほぼ9割がawkスクリプト
しかもオプション解析とか無駄なことをやってるからクソ長くなってるだけ
いやアルゴリズムもなんかムダに長い気がするな
あれみていってるなら、POSIX準拠とはクソ長いは全く関係ない
194デフォルトの名無しさん
2020/12/05(土) 08:05:02.70ID:L0bYd0ih195デフォルトの名無しさん
2020/12/05(土) 08:32:55.94ID:Tpji0Itw POSIXerじゃなくてもLinuxとBSD(macOS)などに
対応しようと思ったら辛いけどな
対応しようと思ったら辛いけどな
196デフォルトの名無しさん
2020/12/05(土) 11:58:33.40ID:En2ZUb0e dateコマンド使うにしてもcoreutilsダウンロードして使うだけだから何も辛くない
自分はPOSIX云々より便利に使えるほうがいいから
cronパーサーみたいの使って`next_time ‘0 0 10 * * Fri’`みたいなコマンド作る
自分はPOSIX云々より便利に使えるほうがいいから
cronパーサーみたいの使って`next_time ‘0 0 10 * * Fri’`みたいなコマンド作る
197デフォルトの名無しさん
2020/12/05(土) 12:30:36.45ID:Q5wPn3Se まあ「辛くない」って言える内は幸せよ……
経験を積んでくると,POSIXに準拠しようがしていまいが,
複数のシステムで期待どおりの動作をさせることが
どれだけ大変かが身に沁みて分かってくるから。
経験を積んでくると,POSIXに準拠しようがしていまいが,
複数のシステムで期待どおりの動作をさせることが
どれだけ大変かが身に沁みて分かってくるから。
198デフォルトの名無しさん
2020/12/05(土) 12:43:57.73ID:Q5wPn3Se >>193
まさかもなにもそうじゃない?
知らないのかもしれないけど,POSIXって単にシェルの
挙動だけを決めてるんじゃなくて,
AWKとかC言語とか他のプログラミング言語の仕様も決めてるのよ。
ちなみにAWKのPOSIX仕様は↓ここで読める。
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/awk.html
だから>>156のコードは「POSIX準拠のクソ長いコード」と言ってしまって良い。
まさかもなにもそうじゃない?
知らないのかもしれないけど,POSIXって単にシェルの
挙動だけを決めてるんじゃなくて,
AWKとかC言語とか他のプログラミング言語の仕様も決めてるのよ。
ちなみにAWKのPOSIX仕様は↓ここで読める。
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/awk.html
だから>>156のコードは「POSIX準拠のクソ長いコード」と言ってしまって良い。
199デフォルトの名無しさん
2020/12/05(土) 13:34:14.56ID:++4jxPOM いやこのスレ、シェルスクリプトのスレだから
C言語で書いてもPOSIX準拠だね
だけどこのスレでC言語で答えるのは間違いでしょ
C言語で書いてもPOSIX準拠だね
だけどこのスレでC言語で答えるのは間違いでしょ
200デフォルトの名無しさん
2020/12/05(土) 13:36:57.86ID:En2ZUb0e201デフォルトの名無しさん
2020/12/05(土) 17:21:06.89ID:WoNSxYte202デフォルトの名無しさん
2020/12/05(土) 20:10:29.89ID:++4jxPOM >>201
お前はコマンドを「作る」と「使う」の違いもわからんのか?
お前はコマンドを「作る」と「使う」の違いもわからんのか?
203デフォルトの名無しさん
2020/12/06(日) 00:28:21.63ID:rU5Tjp1X なんかグダグダやってるけどシェルスクリプトで
UNIXタイムの変換ってぐぐったら普通にでてくるやん
UNIXタイムの変換ってぐぐったら普通にでてくるやん
204デフォルトの名無しさん
2020/12/06(日) 00:35:27.33ID:I5tPmPco POSIX準拠じゃないからダメです
205デフォルトの名無しさん
2020/12/06(日) 00:40:12.93ID:rU5Tjp1X いやPOSIX準拠であるって
206デフォルトの名無しさん
2020/12/06(日) 00:44:22.83ID:I5tPmPco 口先だけなら何とでも言えます
207デフォルトの名無しさん
2020/12/06(日) 00:46:36.00ID:rU5Tjp1X ググってみた?
何の単語でググったか書いてみてくれる?
何の単語でググったか書いてみてくれる?
208デフォルトの名無しさん
2020/12/06(日) 01:09:11.46ID:I5tPmPco ほらな、自分で出せないもんを人に調べさせようとする
新興宗教といっしょ
そんなもんはない
新興宗教といっしょ
そんなもんはない
209デフォルトの名無しさん
2020/12/06(日) 01:11:49.17ID:rU5Tjp1X 検索して見つけたページを出せなんて言ってないよ
ただあんたが検索した「単語」だけを書けばいい
見つからなくても実際に検索してなくてもOKだよ
ただあんたが検索した「単語」だけを書けばいい
見つからなくても実際に検索してなくてもOKだよ
210デフォルトの名無しさん
2020/12/06(日) 01:14:01.83ID:rU5Tjp1X ちなみになんでこんな事を聞いてるかというと
検索して見つけられないなんてことが
有るんだろうか?って疑問になったから
検索して見つけられないなんてことが
有るんだろうか?って疑問になったから
211デフォルトの名無しさん
2020/12/06(日) 01:55:10.54ID:I5tPmPco お前も見つけられてないじゃん
何が普通に出てくるだ嘘吐き
何が普通に出てくるだ嘘吐き
212デフォルトの名無しさん
2020/12/06(日) 02:04:12.25ID:rU5Tjp1X ちなみに俺が検索した単語は「シェルスクリプト UNIXタイム」
もう一度聞くけど、お前は何の単語で調べた?
もう一度聞くけど、お前は何の単語で調べた?
213デフォルトの名無しさん
2020/12/06(日) 02:08:46.21ID:NqcvkCcY >>202
草生やしたコメントにマジレスするなら、あえて「わからん」と言うね。
極論すればシェルスクリプトのお題は常にC言語で解くことが可能で、
そのコードをコンパイルしたコマンドを使うことは可能。coreutilsもその一種だろ。
だったら明確な指針でも書いてくださいw
草生やしたコメントにマジレスするなら、あえて「わからん」と言うね。
極論すればシェルスクリプトのお題は常にC言語で解くことが可能で、
そのコードをコンパイルしたコマンドを使うことは可能。coreutilsもその一種だろ。
だったら明確な指針でも書いてくださいw
214デフォルトの名無しさん
2020/12/06(日) 02:17:28.74ID:NqcvkCcY215デフォルトの名無しさん
2020/12/06(日) 02:23:24.16ID:rU5Tjp1X チューリング完全かどうかでいいんじゃないの?
チューリング完全なもので実装=他言語で実装
ここはシェルスクリプトのスレなので対象外
チューリング完全なもので実装=他言語で実装
ここはシェルスクリプトのスレなので対象外
216デフォルトの名無しさん
2020/12/06(日) 02:26:06.11ID:rU5Tjp1X217デフォルトの名無しさん
2020/12/06(日) 10:58:49.79ID:+d6RCg1G >>211
お〜い,なんの単語で調べたか答えてくれよ〜
お〜い,なんの単語で調べたか答えてくれよ〜
218デフォルトの名無しさん
2020/12/06(日) 11:04:27.70ID:+d6RCg1G219デフォルトの名無しさん
2020/12/06(日) 11:24:08.76ID:43odFZj2220デフォルトの名無しさん
2020/12/06(日) 12:42:10.98ID:+d6RCg1G >>219
それPOSIX sedで動きますか? 試してみましたか?
それPOSIX sedで動きますか? 試してみましたか?
221デフォルトの名無しさん
2020/12/06(日) 12:46:27.12ID:+d6RCg1G ちなみに*GNU* sedの--posixオプション付けて動かして
「動いているように見える」からPOSIX sedに準拠してる!っていうのは
当然だめだからね。分かってると思うけど。
「動いているように見える」からPOSIX sedに準拠してる!っていうのは
当然だめだからね。分かってると思うけど。
222デフォルトの名無しさん
2020/12/06(日) 12:53:07.47ID:43odFZj2223デフォルトの名無しさん
2020/12/06(日) 12:53:27.33ID:43odFZj2 > 当然だめだからね。
なぜ?
なぜ?
224デフォルトの名無しさん
2020/12/06(日) 12:54:15.15ID:43odFZj2 つーか試してみて動いちゃったから
焦って後出しで--posixの話加えただろw
焦って後出しで--posixの話加えただろw
225デフォルトの名無しさん
2020/12/06(日) 12:57:09.16ID:43odFZj2 倉庫番のやつ、99ステージあるけどどうやってるんだろうと思ったら
普通にソースコードに初期配置が文字列で書かれてるんだなw
普通にソースコードに初期配置が文字列で書かれてるんだなw
226デフォルトの名無しさん
2020/12/06(日) 12:58:22.00ID:43odFZj2 あ、99ステージ分って意味ね
227デフォルトの名無しさん
2020/12/06(日) 17:06:58.34ID:+d6RCg1G 見苦しいのう…
228デフォルトの名無しさん
2020/12/06(日) 18:06:23.94ID:1bhylYC8 ポジバカはスルーで!
229デフォルトの名無しさん
2020/12/06(日) 19:32:19.33ID:43odFZj2 >>227
POSIX sedで試しましたか?
POSIX sedで試しましたか?
230デフォルトの名無しさん
2020/12/06(日) 22:45:34.65ID:+d6RCg1G231デフォルトの名無しさん
2020/12/06(日) 23:00:58.44ID:43odFZj2 だから試せばPOSIX sedで動くのがわかるだろ
232デフォルトの名無しさん
2020/12/07(月) 01:05:35.09ID:m+PLJN/4 ポジに執着して何かいいことありますか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【社会】40代以上のおじさん・おばさんは叩いてオッケーという風潮はなぜ加速したのか [七波羅探題★]
- 自分に自信がない女の子、陽キャ美容室で80cmのエクステを付けた結果wwwwwwwwwwwwwwwwwww [329329848]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【朗報】外務省局長、中国側の要求を断固拒否。「高市さんの答弁は日本政府の立場を変えるものではないし、撤回しない」 [519511584]
- 農林水産省「春頃にはコメ価格落ち着くのでは」新米の取引価格、過去最高を更新。 [256556981]
