◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

シェルスクリプト総合 その35


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1606221440/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1デフォルトの名無しさん2020/11/24(火) 21:37:20.06ID:mbTiTj6s
シェルスクリプトに関する総合スレッドです。

全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。

前スレ: シェルスクリプト総合 その34
http://2chb.net/r/tech/1597990675/

2デフォルトの名無しさん2020/11/24(火) 21:37:36.71ID:mbTiTj6s
・特記なき場合、POSIX準拠シェルが既定です(古きBourneシェルはほぼ絶滅しました)
 POSIX準拠シェルは(d)ash, bash, zsh, (m)ksh, yash, posh, (p)boshです
 参考 https://unix.stackexchange.com/questions/145522/
 特定のシェルの専用機能に依存する場合は明示しましょう(特にPOSIX準拠シェルではないfish, (t)csh等)
・デフォルトシェルのシバンはBourneシェル時代からの伝統で#!/bin/shを使用します。ただしその実体はOSによって様々です
  Debian系 … dash   CentOS系 … bash   Alpine … ash(busybox)  Android … mksh
  FreeBSD … ash   Solaris,OpenBSD … ksh
  macOS … bash(Single UNIX Specification準拠のために一部動作が異なる)
・ログインシェルは/bin/shでない場合があります。例 macOS … zsh
・シェルスクリプトは可搬性を持たせるために可能な限りPOSIXに準拠しましょう
 仕様 http://pubs.opengroup.org/onlinepubs/9699919799/
 参考 https://en.wikipedia.org/wiki/POSIX
・bash依存はなるべく避けましょう。自覚なきbashism。シバンが#!/bin/shなのにbashに依存する構文を使っていませんか?
 #!/bin/shを使うならシェル依存は厳禁です。bash依存するなら#!/bin/bashです
・BourneシェルはPOSIX標準化前に主にUNIXで使われていたシェルで多くの亜種が存在します
 Bourneシェル≒Version 7 UNIXのshに一番近いのはOpenSolaris由来のHeirloom Bourne Shell、次点でSchily Bourne Shellのoboshです
  Heirloom Bourne Shell: sh http://heirloom.sourceforge.net/sh.html
  Schily Bourne Shell: obosh http://schilytools.sourceforge.net/bosh.html
 歴史的資料 https://www.in-ulm.de/~mascheck/
・csh/tcshでのシェルスクリプトは*まったく推奨しません*
  参考 http://www.speech-lab.org/~hiroki/csh-whynot.euc
・Linux/UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります。Manページや各種リンクを見ましょう
 aproposやman -kでそれらしい単語による簡単な検索もできます
・ワイルドカード・パターンは正規表現ではありません。正規表現の話題はスレ違い(正規表現スレへ)
・シェル芸はシェルスクリプトとは異なります
・シェルスクリプトのことをシェルってゆうな

3デフォルトの名無しさん2020/11/24(火) 21:37:51.87ID:mbTiTj6s
関連スレ

【Bash】Windows Subsystem for Linux【WSL】8
http://2chb.net/r/linux/1590742701/

Bashでプログラミング [転載禁止](c)2ch.net
http://2chb.net/r/linux/1443885102/

シェルスクリプト総合 その28
http://2chb.net/r/unix/1533154936/

zsh その7
http://2chb.net/r/unix/1337844883/

【POSIX】UNIXプログラミング【BSD】 [転載禁止](c)2ch.net
http://2chb.net/r/unix/1443103705/

4デフォルトの名無しさん2020/11/24(火) 21:40:10.48ID:mbTiTj6s
しかし>>3の関連スレが,1スレ消費した後にまだリンク張り替えなくて良いあたり,
全然書き込まれていないんだな。
人気がないのかあるいは,安定していて一斉に文句が書き込まれるような問題も無いのか……。

5デフォルトの名無しさん2020/11/24(火) 23:21:17.54ID:EBaS3Lgi
fishはどうなの?

6デフォルトの名無しさん2020/11/25(水) 00:17:50.27ID:jf5n46hh
fishとかxosh?だとかPOSIXじゃないから
うんいいね。でおしまい
あんなのでスクリプト書くやつはいない

7デフォルトの名無しさん2020/11/25(水) 02:48:27.65ID:zD7zhP2P
クソッシュってのもあるんだ?

8デフォルトの名無しさん2020/11/25(水) 06:48:03.19ID:BAAT1DM9
別にfishが使い続けられてそれが便利ならそのスクリプトがどういう文法だろうがどうでもよくないか?

9デフォルトの名無しさん2020/11/25(水) 10:55:21.76ID:4qZN2cIE
POSIXかどうかはとくにどうでもよい。

10デフォルトの名無しさん2020/11/25(水) 11:27:15.22ID:zD7zhP2P
クソッシュについておしえて

11デフォルトの名無しさん2020/11/25(水) 17:20:14.98ID:7xSU5LuF
>>8
シェルはインタラクティブだけじゃなくてシェルスクリプトとしても使われてる
例えば/bin以下でこんなのがシェルスクリプトで実装されてる

/bin/bzdiff: POSIX shell script, ASCII text executable
/bin/bzexe: POSIX shell script, ASCII text executable
/bin/bzgrep: POSIX shell script, ASCII text executable
/bin/bzmore: POSIX shell script, ASCII text executable
/bin/egrep: POSIX shell script, ASCII text executable
/bin/fgrep: POSIX shell script, ASCII text executable
/bin/gunzip: POSIX shell script, ASCII text executable
/bin/gzexe: POSIX shell script, ASCII text executable
/bin/which: POSIX shell script, ASCII text executable
/bin/zcat: POSIX shell script, ASCII text executable
/bin/zdiff: POSIX shell script, ASCII text executable
/bin/zgrep: POSIX shell script, ASCII text executable
/bin/zless: POSIX shell script, ASCII text executable
/bin/zmore: POSIX shell script, ASCII text executable

なのでPOSIXシェルがシステムから取り除かれることはない
そしてfishはシステムにとって使えず必須ではないのでインストールされない
という状況がこれからも続く

悪くはないが代替として使えない

12デフォルトの名無しさん2020/11/25(水) 19:19:27.01ID:4qZN2cIE
>>11
そんな話は聞いてない。

13デフォルトの名無しさん2020/11/25(水) 20:38:12.08ID:uhQhH5gv
だから、別にfishでスクリプトを書いてもいいけど
統一された企画も何もないんだから、
少なくともこのスレで話す話題じゃねーよなって言う話

それこそ、Pythonも、
逐次的に入力を解釈して利用者に入力を促進する状態がある
と言う点ではシェルの一緒だけど、
じゃあここで話すの話題かっていう。

14デフォルトの名無しさん2020/11/25(水) 20:39:13.80ID:uhQhH5gv
すまん音声入力が誤爆した
企画→規格

15デフォルトの名無しさん2020/11/25(水) 21:29:52.71ID:0vRedS2N
こんなキモイことホソボソ独りでつぶやいてんのかw

16デフォルトの名無しさん2020/11/25(水) 21:41:57.79ID:uhQhH5gv
最新のfishは使うけど音声入力は使いません!

wwww

17デフォルトの名無しさん2020/11/25(水) 22:04:20.77ID:Hppr2Ato
fishのスクリプトがどういう文法だろうが
使わないのでどうでもいいという話

>>5
> fishはどうなの?
どうでもいい。興味ない。

18デフォルトの名無しさん2020/11/25(水) 22:50:57.68ID:m5om5rgh
シカトすればすぐに終わるだろうに、なぜか自ら話を伸ばすw

19デフォルトの名無しさん2020/11/25(水) 23:07:49.06ID:zD7zhP2P
いつから統一された規格とやらが要件になったの?
いいけどそれなら総合の看板下ろしてPOSIX専用掲げてよ紛らわしい

20デフォルトの名無しさん2020/11/26(木) 00:09:07.40ID:JCzWlVbS
shに似ても似つかないスクリプトはスレ違いなのはたしか。
POSIXはある程度どうでもよいとして。

ただスレ違いを前提として、別のシェルをすこしくらい話題にするのはいいのでは。
そんなに活発なスレでもないし。

21デフォルトの名無しさん2020/11/26(木) 00:38:08.15ID:WQpiaax/
いつも思うがポジキチは病気

22デフォルトの名無しさん2020/11/26(木) 01:12:59.63ID:T00uXQW1
昔話だが、まだいろんなUNIXワークステーションが使われていた頃、あるOS用に
書いたスクリプトが別のOSで微妙に動かなかったりして、面倒だった。
そうするとやっぱPOSIXかあと思ったりした。

今なんかどこでもたいていbashが入ってるしな。てゆうかたいがいLinuxだし。
そしてCPUがたいがいインテルに... まARMのクロスコンパイルはするけど。

23デフォルトの名無しさん2020/11/26(木) 01:14:37.64ID:T00uXQW1
あれ、ディレクトリ構造というのもPOSIXで規定されてるんだっけ?
違うOSで動かすときはそういうのも問題になったな。
そうやってGNUのconfigureなんかも複雑化していったという。

24デフォルトの名無しさん2020/11/26(木) 02:04:23.72ID:JCzWlVbS

25デフォルトの名無しさん2020/11/26(木) 08:58:40.11ID:Czgib+VC
手元に有用なfishスクリプトがあってそれを使いたいならfishをインストールすればいいだけじゃね?
なぜデフォルトインストールされたシェルだけの縛りゲーしてるの

26デフォルトの名無しさん2020/11/26(木) 11:11:31.59ID:ZeK0fFqz
fishをインストールする権限がないから

27デフォルトの名無しさん2020/11/26(木) 12:05:54.70ID:JCzWlVbS
パーミッションだけの話なら、$HOMEのどこかにいれとけ。
/usr/bin以下でないとダメなわけでもないやろ。

28デフォルトの名無しさん2020/11/26(木) 13:13:04.55ID:BChkjCh/
>>27
だからインストールできない
linux-vdso.so.1 (0x00007fffeddc6000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f211d340000)
libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f211d110000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f211cef0000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f211cce0000)
libpcre2-32.so.0 => /usr/lib/x86_64-linux-gnu/libpcre2-32.so.0 (0x00007f211ca60000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f211c6d0000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f211c2c0000)
/lib64/ld-linux-x86-64.so.2 (0x00007f211da00000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f211bf20000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f211bd00000)

29デフォルトの名無しさん2020/11/26(木) 14:24:24.05ID:dGdApgXM
>>19
「POSIXにこだわらないシェルスクリプト総合スレ」を立てたほうが健全かもな

しばらくスレ見てればわかるけど要は俺がマウント取れない話題はするなってことなんだよね

全くもってくだらない

30デフォルトの名無しさん2020/11/26(木) 14:30:52.27ID:SyhWTBHJ
感想は同意。マウント取るためのネタとしてするなとも言っているのもありそうだな

31デフォルトの名無しさん2020/11/26(木) 15:57:47.46ID:JCzWlVbS
テンプレに、明示してたらほかのシェルでも可、とあるんだからここでええやろ。
POSIXバカは無視で。

32デフォルトの名無しさん2020/11/27(金) 15:29:21.75ID:3pf/tsln
awkやsedの話でもなんかすぐ「そんな複雑なことやるな!」って否定しだすしな。
awk,sedは独立したプログラム言語とはいえシェルスクリプトの一部と言えるんだから,
fishと同じでここで扱っても良い話題。

33デフォルトの名無しさん2020/11/27(金) 15:55:39.83ID:w5Az7J0d
そんな事するなとは言ってないな
シェルスクリプトではないというだけの話だ
独立したプログラム言語でシェルスクリプトではない

34デフォルトの名無しさん2020/11/27(金) 16:00:25.98ID:pgQorB3q
息を吐くように嘘をつく

35デフォルトの名無しさん2020/11/27(金) 18:09:13.28ID:yWTZwmZ1
>>28
ライブラリもホームに置けば。一工夫いると思うけど。

36デフォルトの名無しさん2020/11/27(金) 18:51:24.04ID:OZT1ua32
>>33
たしかにそうではあるが、ふつうのsedくらいまではこのスレの射程やろ。
「総合」だし。

だが、awkは外れてると思う。w

37デフォルトの名無しさん2020/11/27(金) 19:51:16.84ID:3pf/tsln
POSIX信者ウゼー
FishでもAWKでもシェルスクリプト一と言えるだろうが。
そりゃ突き詰めて見れば,「PowerShellを扱わないんであればFishシェルも扱わない」
「Pythonを扱わないんであればAWKも扱わない」という理屈は分からなくもないけど,
どうしてそう強情に0か1かでしか物事を捉えられんのかね……。

38デフォルトの名無しさん2020/11/27(金) 21:43:43.30ID:w5Az7J0d
awkがシェルスクリプトじゃないというのはPOSIXとは関係ない

awkを呼び出すコードは当然シェルスクリプトだが
awkはシェルではないので、awkの文法に関することは
シェルスクリプトではないというだけのことだ。

そしてfishはシェルなのだから、当然シェルスクリプトだ
ただしPOSIXではないシェルスクリプトであるが

39デフォルトの名無しさん2020/11/27(金) 21:51:03.71ID:w5Az7J0d
例えばシェルスクリプトで$_ってどういう意味ですか?
って聞かれても困るだろ?このコードで

cat test.txt | ruby -e 'while gets; print $_; end'

40デフォルトの名無しさん2020/11/27(金) 22:24:30.25ID:tPIe9OcJ
>>39
それはRubyの記号だよ、で済む話

41デフォルトの名無しさん2020/11/27(金) 22:33:58.69ID:OZT1ua32
>>39
「cat」ってなぜ猫なんですか?
とか聞かれても困るけどな。w

42デフォルトの名無しさん2020/11/27(金) 22:39:54.65ID:w5Az7J0d
そういうことだな。それはawkの文法だよ。
だからawkスレで聞いてねで終わる

43デフォルトの名無しさん2020/11/27(金) 22:40:48.72ID:3pf/tsln
>>38
じゃあPowerShellやcmdの話題も扱っていい筈よね。
ここUnix板じゃねーし,
仮にUnixシェル専用だという暗黙の了解があるにしても
PowerShellはLinuxの上で動くし。

……とまあ,際限なくチャチャを入れることができる
ガバガバ理論なんで,別にAWK程度なら
このスレで扱っても構わないでしょう。
柔軟に生きよう。

44デフォルトの名無しさん2020/11/27(金) 22:51:49.53ID:w5Az7J0d
>>43
専用スレがあるのだからそっちに行ったほうがいい

45デフォルトの名無しさん2020/11/27(金) 22:58:10.21ID:YUFOKuwU
ご覧の通り何を言っても無駄

無駄に突っかかってくるやつ相手にしてもSAN値下がるだけなので
「POSIXにこだわらないシェルスクリプト総合スレ」を立てたほうが建設的だよ

POSIXに強くこだわりたいときにこのスレ使えばいい

46デフォルトの名無しさん2020/11/27(金) 23:00:51.97ID:W+zDVYCR
>>43
ぺこぱかよ

47デフォルトの名無しさん2020/11/27(金) 23:06:24.74ID:0Fqhj3Tv
立てたよ

fish POSIX以外のシェルスクリプト総合 xonsh
http://2chb.net/r/tech/1606485969/

48デフォルトの名無しさん2020/11/27(金) 23:08:59.63ID:W+zDVYCR
このスレの「総合」の看板を下ろさないと。

49デフォルトの名無しさん2020/11/27(金) 23:10:11.01ID:0Fqhj3Tv
POSIXシェルスクリプト総合にすればOK

50デフォルトの名無しさん2020/11/27(金) 23:21:59.20ID:W+zDVYCR
POSIXシェルスクリプト専用だろ?
何が総合だ。看板に偽りあり!

51デフォルトの名無しさん2020/11/27(金) 23:27:25.30ID:OZT1ua32
>>43
Awkを入れたらPerlも入るぞ?
Perlが入ったらPythonも入るぞ?
Pythonが入ったらRubyも入るぞ?

と際限がなくなりそうだけどなあ。

52デフォルトの名無しさん2020/11/27(金) 23:30:37.47ID:OZT1ua32
>>50
POSIXそのものなのか?準拠は?拡張は?と、それはそれでややこしい。w

こまけえことは気にすんな!でええがな。
POSIXバカは無視で。

53デフォルトの名無しさん2020/11/28(土) 01:07:03.95ID:UNKiK/L1
>>47
これ人が集まらないようわざと分かりにくいタイトルにしてるだろ

どんだけ陰険なん

54デフォルトの名無しさん2020/11/28(土) 01:17:29.82ID:u/XOSRZ8
>>51
すぐそうやって極論に持って行く。
「AWK程度なら」の意味分かってんの?

55デフォルトの名無しさん2020/11/28(土) 01:17:44.10ID:u/XOSRZ8
>>53
さすがに被害妄想

56デフォルトの名無しさん2020/11/28(土) 01:36:29.48ID:Qftrz3Vi
>>54
極論じゃないやろ。
むしろおまえこそ自分の言葉の意味がわかってんのかと。

57デフォルトの名無しさん2020/11/28(土) 02:08:28.38ID:iJr35ATc
awkの話もシェルスクリプトといことでいいですよね?

awkで作られた3Dシューティングゲーム「awkaster」が凄い
https://www.softantenna.com/wp/software/awkaster/

このコードを説明してください

58デフォルトの名無しさん2020/11/28(土) 02:12:15.88ID:iJr35ATc
別にawk程度ならこのスレで扱っても構わないでしょう?w

59デフォルトの名無しさん2020/11/28(土) 02:51:11.97ID:9ywhOEJN
>>57
>このコードを説明してください

いくら払うの?
まずはそこからだ

60デフォルトの名無しさん2020/11/28(土) 02:56:35.29ID:iJr35ATc
はらうわけないやろw

61デフォルトの名無しさん2020/11/28(土) 04:11:09.88ID:qjJxpluv
>>60
キチガイすぎだ、お前は

62デフォルトの名無しさん2020/11/28(土) 10:42:20.87ID:PixgrLNy
>>53
確かにこれはひどい悪意を感じるので
立て直したほうがよい

63デフォルトの名無しさん2020/11/28(土) 12:09:11.41ID:FGpMIdZG
>>39
PowerShell でもそうだけど、$_ は、前段のパイプから渡ってくるもの。
1行ずつ渡ってくるのを、そのまま表示している

1-liner では、よく使う

64デフォルトの名無しさん2020/11/28(土) 12:24:11.90ID:u/XOSRZ8
>>62
自演乙

65デフォルトの名無しさん2020/11/28(土) 12:27:00.82ID:u/XOSRZ8
だいたい,「分かりやすいタイトル」にしたところで人が集まるような話題じゃねーしなw
Fishだけ知っててBash知らない,みたいな人間なんて超希少だろうし,
大半の人間はFishの前にBashを知っていて,
シェルスクリプトとして書く場合はBashを使う。
だから「Fishでこんな処理を書きたいんだけど」という疑問の前に
Bashを使うんだわ,残念ながら。

まあBashを使うことが〝良いこと〟か,というのはまた別の話な。
勘違いしてつっかかってくる奴がいそうなんで,念の為言っておくが。

66デフォルトの名無しさん2020/11/28(土) 15:43:45.81ID:RWbEaHwZ
PowerShellやコマンドプロンプトはシェルスクリプトがなかった
Windowsの世界で使わざるを得ないものだから、それでスクリプト書くことはあるけど
fishとか書かないよね

書けるやつはbashかPOSIX準拠で書くし
書けないやつはPythonとかの言語を使う
bash書くのだるいからfishでとかやるやつがいない

fishとかプロンプトからの入力に使うだけでしょ
使ってる人もデフォルトの補完便利だねぐらいにしか思ってない

67デフォルトの名無しさん2020/11/28(土) 15:52:04.59ID:/h72lCnp
fishのスクリプトの具体的なことは未だに全く書かれていない、どう書いたらいいとかさえも
最初に言い出したやつさえ使ってないだろうw いつまで引っ張ってるんだか

68デフォルトの名無しさん2020/11/28(土) 17:30:07.45ID:P/o6eg3s
マイナーな話題は許さんのだったら総合の看板下ろせ

69デフォルトの名無しさん2020/11/28(土) 17:49:02.21ID:FGpMIdZG
AWS のCodeDeploy には、sudo yum install ruby
と書いてあるから、Ruby製

CloudFormation では、Ruby製のChef, Cookpad製のItamae, Kumogata2 を使える

バックエンドの環境構築運用では、
複雑なものは、シェルスクリプトよりも、Rubyで書く

70デフォルトの名無しさん2020/11/28(土) 18:12:07.68ID:u/XOSRZ8
>>68
もうこれに尽きるな。
Fishシェルのことを扱う別のスレを建てるんじゃなくて,
POSIXシェルのシェルとしての機能(for文, set命令とか)のみを
扱う専門スレを建てればいい。

「総合」とある以上,ここでは前者を含んだ話題を扱うべきだ。

71デフォルトの名無しさん2020/12/01(火) 08:36:50.52ID:2728+f2c
dateコマンドで「今日の10時」などではなく「次に来る10時」を求める方法をご存知の方教えてください!

72デフォルトの名無しさん2020/12/01(火) 10:32:35.01ID:XcHTxxjN
date?おいやめろ。またPOSIXの話になるじゃねーか!

73デフォルトの名無しさん2020/12/01(火) 12:42:30.34ID:WP+WGTcn
文字列での表示は出来るけど、
プログラミング的な時間オブジェクトの比較とかは、出来ないかも

Ruby などのプログラミング言語なら、時間オブジェクトで比較できる

date --iso-8601=hours --date='15:00 today'
2020-12-01T15+09:00

date --iso-8601=hours --date='15:00 next day'
2020-12-02T15+09:00

74732020/12/01(火) 12:48:04.25ID:WP+WGTcn
現在・今日・明日の文字列で、文字列として比較できるかも知れない

date --iso-8601=seconds
2020-12-01T12:44:54+09:00

date --iso-8601=seconds --date='15:00 today'
2020-12-01T15:00:00+09:00

date --iso-8601=seconds --date='15:00 next day'
2020-12-02T15:00:00+09:00

75732020/12/01(火) 12:52:06.65ID:WP+WGTcn
>>74
今日が現在よりも前なら、明日

それ以外は、今日

76732020/12/01(火) 14:53:07.28ID:WP+WGTcn
bash 限定で。
zsh では、[ $today \< $now ] が動かないとか、どこかのサイトに書いてあったので

#!/bin/bash

# 現在・今日・明日の文字列
now=`date --iso-8601=seconds`
today=`date --iso-8601=seconds --date='14:00 today'`
tomorrow=`date --iso-8601=seconds --date='14:00 tomorrow'`

# echo $now # 2020-12-01T14:41:29+09:00
# echo $today # 2020-12-01T14:00:00+09:00
# echo $tomorrow # 2020-12-02T14:00:00+09:00

# 今日が現在よりも前なら、明日。
# それ以外は、今日
if [ $today \< $now ]; then
echo '明日'
echo $tomorrow # 2020-12-02T14:00:00+09:00
else
echo '今日'
echo $today
fi

77デフォルトの名無しさん2020/12/01(火) 17:23:30.11ID:sVIjNcb4
>>71
YYYY MM DD HH フォーマットを返すようにしてdateを呼び出す

if [ HH < 10 ]; then
 echo YYYY MM DD 10 00 00
else
echo YYYY MM DD+1 10 00 00
fi

あとよろ

DDが月末だったら問題あるから気をつけな

78デフォルトの名無しさん2020/12/01(火) 17:39:46.39ID:gqqffooe
>>77
10時を過ぎても11時までなら今日の10時が返されるんじゃ?

79デフォルトの名無しさん2020/12/01(火) 17:50:56.66ID:sVIjNcb4
うん、あとよろw

80デフォルトの名無しさん2020/12/01(火) 17:52:38.86ID:sVIjNcb4
思ったんだがシェルスクリプトって日付の計算ができないんだな
そういうライブラリってないのか?

81デフォルトの名無しさん2020/12/01(火) 18:03:57.84ID:/3zv7uXC
数字の計算はシェルスクリプト向けではないなあ

82デフォルトの名無しさん2020/12/01(火) 18:09:45.30ID:XaSziyAo
シェルスクリプトで数字の計算は普通にできるやろ?

rubyとかpythonとか便利ライブラリ盛りだくさんな温室で
育ってきたやつは知らんだろうけど
C言語だって日付の計算はできないんだぞ

ライブラリを作るか使うかしてやっと実現できること
ライブラリを誰かが用意してくれなきゃプログラミングができないとか
技術力もほんと落ちたもんだわw

83デフォルトの名無しさん2020/12/01(火) 18:28:45.10ID:xl/Y0HIa
>>71
tz=JST-9; [ $(date +%H) -ge 10 ] && tz=JST-23;echo $(TZ=$tz date +%D) 10:00

84デフォルトの名無しさん2020/12/01(火) 18:31:08.89ID:xl/Y0HIa
>>83
tz=JST-9; [ $(date +%H) -ge 10 ] && tz=JST-33;echo $(TZ=$tz date +%D) 10:00
だな。ぼーっとしてた

85デフォルトの名無しさん2020/12/01(火) 20:27:54.30ID:vbtVJLvD
>>84
これでいいわな。核心部分は%Hと10の比較だけ。

86デフォルトの名無しさん2020/12/01(火) 22:04:55.51ID:JidlBL+f
>>82
> シェルスクリプトで数字の計算は普通にできるやろ?

外部コマンド呼ばないとできないよね。あ$(())とかのこと? でも伝統的には...

> ライブラリを誰かが用意してくれなきゃプログラミングができないとか

日付の処理とかいろいろ落とし穴が多いから。

今はプログラムも複雑になったし... 料理に例えると、大昔は火を起こすところから
できないと駄目だったろうが今はそんなこと要求されないw

87デフォルトの名無しさん2020/12/01(火) 22:56:51.43ID:C5mmwJjK
GNUやBSDのdateの拡張部分、つうてもある値(文字列な日付も含む)を日付に変換っていう部分を使えば普通に日付の計算は(簡単に)できるだろう
日付の計算はシリアルな値=ある起点(OSやフレームワークによる)からの秒数 をベースでやるのが普通。落とし穴を避けるためにも(他の言語でも)
年月日で計算する必要のあるのは、落とし穴なんて関係ない単純な場合なだけだろう。何年何ヶ月 とか ある程度適当でいい場合とか

88デフォルトの名無しさん2020/12/01(火) 23:04:11.24ID:uBfLZ+08
しかし、そういうときはさすがにPerlだな。w

89デフォルトの名無しさん2020/12/01(火) 23:34:27.84ID:sWsOqT7L
>>86
> 外部コマンド呼ばないとできないよね。あ$(())とかのこと? でも伝統的には...
伝統?いつまでも古代のBourne shellなんか使ってるなよ
今は令和の時代だぞ?1988年(ksh88)はもう30年以上前だ。
そんな昔のシェルをお前は今も使ってるのか?
いい加減POSIX準拠シェルに乗り換えろ

90デフォルトの名無しさん2020/12/01(火) 23:35:29.20ID:8hFs+PyJ
>>71です
みなさんありがとうございます助かりました!

91デフォルトの名無しさん2020/12/01(火) 23:40:19.72ID:sWsOqT7L
>>87
> 日付の計算はシリアルな値=ある起点(OSやフレームワークによる)からの秒数 をベースでやるのが普通。

date +%s はPOSIX準拠ではない

92デフォルトの名無しさん2020/12/01(火) 23:54:59.72ID:vbtVJLvD
別にPOSIXに従ってなくても,元の質問が解決すればそれでいいと思うんだが。

ちなみにPOSIXに準拠した場合でもUNIX時刻は算出できる。

93デフォルトの名無しさん2020/12/01(火) 23:55:29.58ID:vbtVJLvD
しかもThe Open Groupが直々にコードを書いてくれてるっていうw

94デフォルトの名無しさん2020/12/02(水) 00:02:02.37ID:FOy3G1VC
また頓珍漢にPOSIX準拠と言い出してるのかw

95デフォルトの名無しさん2020/12/02(水) 00:18:08.63ID:2qveoeUZ
POSIXバカはスルーで!
興味がある人のみ反応すれば。

96デフォルトの名無しさん2020/12/02(水) 01:03:04.87ID:eXK3SZJl

97デフォルトの名無しさん2020/12/02(水) 01:11:52.81ID:s/Tj40p5
名前に反して自らの排外的な殻に閉じ籠ってる団体

98デフォルトの名無しさん2020/12/02(水) 01:31:58.00ID:fE08etha
POSIXバカと呼び名通りにすぐにバカっぷりを体現してくれる呼び名に偽りはないなw

99デフォルトの名無しさん2020/12/02(水) 04:20:55.77ID:eXK3SZJl
などと文句をいうだけ

100732020/12/02(水) 13:32:26.78ID:vDg6xkSY
>>76
を改良した。
2020-12-02T14:00:00 のような文字列で比較している

#!/bin/bash

time='14:00' # 求める時間

# 現在・今日・明日の文字列。年月日-時分秒。2020-12-02T14:00:00
now=`date +%Y-%m-%dT%H:%M:%S`

today=`date +%Y-%m-%dT%H:%M:%S --date="$time today"`
tomorrow=`date +%Y-%m-%dT%H:%M:%S --date="$time tomorrow"`

# 今日が現在よりも前なら、明日。
# それ以外は、今日

if [ $today \< $now ]; then
echo '明日'
echo $tomorrow #
else
echo '今日'
echo $today
fi

101デフォルトの名無しさん2020/12/02(水) 18:18:18.22ID:jOtugkoA
now=$(date +%Y%m%d %H%M%S)
date=${now# *
20201202 181521
4294967296

102デフォルトの名無しさん2020/12/02(水) 18:18:53.41ID:jOtugkoA
すまんw 途中で書き込んでしまったw

103デフォルトの名無しさん2020/12/02(水) 18:28:48.81ID:jOtugkoA
やっぱ面倒になった >>84でいいやw

104デフォルトの名無しさん2020/12/02(水) 20:24:18.38ID:aGDRVZCV
>>96
なんでそこしか見てないの?
UNIX時刻の定義に書いてある。
は~,これだからクレクレは困るんだよなぁ……
ちっとは他のページも調べればどうだ。

105デフォルトの名無しさん2020/12/02(水) 21:09:12.29ID:2qveoeUZ
じゃあそれをはれよ

106デフォルトの名無しさん2020/12/03(木) 00:15:40.19ID:qzOIs4Mf
>>105
POSIXバカはスルーするんじゃなかったんか?
それともスルーできないくらい有用な書き込みだったかw

107デフォルトの名無しさん2020/12/03(木) 00:54:27.06ID:7EFKRkup
>>106
POSIXバカである行為と人物は異なる。

108デフォルトの名無しさん2020/12/03(木) 01:29:53.30ID:JqlpTbiL
それでUNIX時刻の定義とはどこ?

109デフォルトの名無しさん2020/12/03(木) 01:41:47.93ID:JqlpTbiL
epoch time、unix timeどちらでも調べたがやっぱりないな

110デフォルトの名無しさん2020/12/03(木) 08:47:14.88ID:qzOIs4Mf

111デフォルトの名無しさん2020/12/03(木) 10:16:47.14ID:cLjLRJP8
優しいなw

112デフォルトの名無しさん2020/12/03(木) 11:24:39.60ID:8fqR7feq
>>110
POSIXに手抜きするなって言っておけ
2020/12/03が2020/01/01から何日目であるかの計算式も書けとw

113732020/12/03(木) 12:16:58.37ID:Nwj1NL2r
>>100
を改良した。
date +%Y-%m-%dT%H:%M:%S を、3回使うので、変数に代入してから使う

#!/bin/bash

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"`

# 今日が現在よりも前なら、明日。
# それ以外は、今日

if [ $today \< $now ]; then
echo '明日'
echo $tomorrow
else
echo '今日'
echo $today
fi

114デフォルトの名無しさん2020/12/03(木) 12:51:14.44ID:8fqR7feq
>>113
dateの呼び出しなら理屈上1回でやれるだろ?
現在の日時から、今日の10時、明日の10時を計算するだけやで?

115デフォルトの名無しさん2020/12/03(木) 12:57:17.10ID:kewMsHSW
POSIXといえば、>>113はデフォのdateがGNUのdateな環境用だね。
いろいろ機能拡張されているみたいで。

116デフォルトの名無しさん2020/12/03(木) 13:02:33.47ID:kewMsHSW
あいろいろと言ってもこの場合は--dateオプションだけど

117デフォルトの名無しさん2020/12/03(木) 14:57:00.63ID:U4KcZC74
>>112
dateコマンドで取得できるだろ。もちろんC関数でもな

118デフォルトの名無しさん2020/12/03(木) 15:05:53.69ID:8fqR7feq
>>117
現在日時の場合はね
俺が言ってるのは任意の日付を扱えないという話

119デフォルトの名無しさん2020/12/03(木) 15:07:46.18ID:U4KcZC74
>>114
現在の取得と明日を求めるのをお任せで2回は必要じゃね
明日を計算するのをうだうだ書くなら別だが

120デフォルトの名無しさん2020/12/03(木) 15:11:33.39ID:U4KcZC74
>>118
なるほど
あれは見てわかるようにCでのことだからな、Open Groupに言っても鼻で笑われるだけかとw

121デフォルトの名無しさん2020/12/03(木) 15:15:27.80ID:3lw1+h2j
>>119
現在の日時から今日の10時は計算できるし
明日の10時も計算できる
今日の10時に86400秒足せば、明日の10時だ

122デフォルトの名無しさん2020/12/03(木) 15:19:57.28ID:U4KcZC74
>>121
w
86400秒足したのを何月何日にするのにどうするつもりなの?
簡単に言えば、月末の次の日って話だぞ

123デフォルトの名無しさん2020/12/03(木) 15:28:04.68ID:3lw1+h2j
> 86400秒足したのを何月何日にするのにどうするつもりなの?

え?POSIXにその計算式があるんじゃなかったの?w

124デフォルトの名無しさん2020/12/03(木) 15:29:22.13ID:U4KcZC74
>>123
それ、マジで言ってるの?マジなら何もわかってないってことになるぞw

125デフォルトの名無しさん2020/12/03(木) 15:54:45.26ID:3lw1+h2j
>>124
中身がないレスはしなくていい

126デフォルトの名無しさん2020/12/03(木) 15:58:19.12ID:U4KcZC74
>>125
>>123のレスに中身があるとでも?w
そういうレスするのはいつものやつかwなるほど通りでバカなこと言うわけだ

127デフォルトの名無しさん2020/12/03(木) 16:01:23.95ID:3lw1+h2j
中身がないレスをお前が先にしたわけで、
それに対するレスにも中身が無いのは当然じゃん
早くPOSIXにその計算式はないって言いなよw

128デフォルトの名無しさん2020/12/03(木) 16:02:58.72ID:3lw1+h2j
あとはっきり言っておくな
POSIXにあるのは年月日時分秒からの変換ではなく
年日時分秒からの変換。月がない。

129デフォルトの名無しさん2020/12/03(木) 16:06:05.70ID:U4KcZC74
>>127
イミフ
>>119の通りだと今でも思うよ
それに対してなんか不思議なこと言ってるから、>>122とちゃんとした疑問なんだけどなあ
それが>>123なのか...マジで...

ないも何もそんな計算があるなんて誰が言ったんだか?どれのこと?w

130デフォルトの名無しさん2020/12/03(木) 16:07:32.44ID:U4KcZC74
>>128
むちゃくちゃww
はっきり言っておくとかwwマジキチかよと思わせるぞ

131デフォルトの名無しさん2020/12/03(木) 16:08:37.33ID:3lw1+h2j
もう話の流れを忘れたのか?

↓無理やろ

> 日付の計算はシリアルな値=ある起点(OSやフレームワークによる)からの秒数 をベースでやるのが普通。

132デフォルトの名無しさん2020/12/03(木) 16:17:23.67ID:U4KcZC74
>>131
お前は根本的に何もわかってないんだな
だからそんな勝手な話の流れと思ってるのか。そこに書かれてることも全くわかってないんだな
そこに計算なんて書いてないだろうに。お前が全く話の流れをわかってないのが明らかだ

>>119なんて言ってたくせにw またごまかしなんだろうが、無理すぎw

133デフォルトの名無しさん2020/12/03(木) 16:19:47.96ID:U4KcZC74
>>132
>計算なんて書いてない
なんか全く不可解なことを言い出してる>>123の計算ね

134デフォルトの名無しさん2020/12/03(木) 16:22:27.43ID:3lw1+h2j
> 日付の計算はシリアルな値=ある起点(OSやフレームワークによる)からの秒数 をベースでやるのが普通

が真なら

86400秒足せばOKだろw

135デフォルトの名無しさん2020/12/03(木) 16:25:05.27ID:U4KcZC74
>>134
何を言っているのか...キチガイなのかとこわ
お前にはなんか知らんがOKなんだろうが、お前が注文つけた先では全くOKじゃないだろう、年月日を出したいらしいからな
残念だったな

136デフォルトの名無しさん2020/12/03(木) 16:26:23.68ID:3lw1+h2j
だからPOSIXじゃ明日の10時の年月日が出せないと言ってるんだが

137デフォルトの名無しさん2020/12/03(木) 16:30:21.85ID:U4KcZC74
>>136
>>119って始めたくせによく言うよw
何とか誤魔化そうとしてるみたいだけど、お前は本当にゲスいなw

138デフォルトの名無しさん2020/12/03(木) 16:31:40.83ID:U4KcZC74
>>132,137
>>119は俺じゃねえかw
>>114の間違い

139デフォルトの名無しさん2020/12/03(木) 16:33:17.90ID:3lw1+h2j
だからできるだろ
日付の計算はシリアルな値でやるんだからw

140デフォルトの名無しさん2020/12/03(木) 16:38:34.33ID:U4KcZC74
もう全くわかってませんという自己紹介はいらんぞw
ちなみに、今日(今)の明日(というかどこまでかはわからんが、何時間/何日前後) の年月日はPOSIXでもトリッキーにできそうなのは上にあるだろに

141デフォルトの名無しさん2020/12/03(木) 17:37:06.10ID:Glofd6fS
>>113
変数に代入するのはformat指定だけにして
$(date “$format”)とか$(date +”$format”)にしたほうが
何をやってるかわかりやすくていい気がする

あと>>84とかと同じで0時またぎの微妙なタイミングで明後日になる可能性がある
それを把握した上で使う分には問題ないだろうけど

142デフォルトの名無しさん2020/12/03(木) 19:26:57.20ID:3lw1+h2j
>>141
> あと>>84とかと同じで0時またぎの微妙なタイミングで明後日になる可能性がある

なるほど。日付の取得は1回にしてあとは計算したほうが良さそうだな。

143デフォルトの名無しさん2020/12/04(金) 00:45:50.04ID:ECFKf8K5
>>121
いや,date(1)の呼び出しは一回で済むでしょう。
POSIXに拘ろうが拘らまいが,「ある瞬間の24時間後」
を知りたければUNIX時刻と普通の時刻を変換すればいい。

ちなみに「UNIX時刻はPOSIXのdateコマンドでは出せない/変換できない!」
って思ってる人も居そうだが,普通にできる。

144デフォルトの名無しさん2020/12/04(金) 01:18:58.36ID:iavYwWUx
Dateとして一回Calendarとして一回、二回は必要だろう
元のはCalendarとして二回使ってる感じかな
何言っているかわからんだろうけど

145デフォルトの名無しさん2020/12/04(金) 01:24:55.12ID:HyuHUD7c
>>143
> を知りたければUNIX時刻と普通の時刻を変換すればいい。
どうやって?

146デフォルトの名無しさん2020/12/04(金) 01:25:29.92ID:HyuHUD7c
>>143
> ちなみに「UNIX時刻はPOSIXのdateコマンドでは出せない/変換できない!」
できるのは、dateコマンドからUNIX時間への変換だけですよね?

147デフォルトの名無しさん2020/12/04(金) 01:48:29.11ID:HyuHUD7c
>>144
POSIXにはCalender(笑)の機能なんてないですもんねw
自分が使える言語に固執してないで、dateコマンド用語で話をするように

148デフォルトの名無しさん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は「システムクロックを」に固執/それ対象なのが痛くてあまり使えなさそうなだけで

150デフォルトの名無しさん2020/12/04(金) 02:33:22.25ID:3npkCfBA
普通の暮らしで使ってる日付なのに
普通の暮らしで接してるからこんな話題でもあまりよく考えてないから計算でできると思い込んで言っちゃうんだろうな。今までそういうのも書いたこともなく
そんなのが機会があって自分で書いたら落とし穴に落ちたのを書きそう
さすがに今時はそう見事に簡単に落とし穴に落ちたのを書かないとは思うが、書きそうでもある

151デフォルトの名無しさん2020/12/04(金) 08:13:05.53ID:HyuHUD7c
>>149
概念としてのカレンダーって何?
お前カレンダー持ってないの?
あれがカレンダー

152デフォルトの名無しさん2020/12/04(金) 08:32:14.34ID:8vYOAEQt
ふつうJavaのプログラミングの経験ぐらいないか? ないのかw

なんか話がこじれてるが、dateコマンドの呼び出しを1回で済ませると言った人、
そーす(スクリプト)ぷりーず。

153デフォルトの名無しさん2020/12/04(金) 09:43:14.21ID:HyuHUD7c
>>152
すでに指摘済み

> 自分が使える言語に固執してないで、dateコマンド用語で話をするように

この文章は、Java”だけ"の常識を、このスレで語るなと言ってる

154デフォルトの名無しさん2020/12/04(金) 10:31:19.91ID:ySoYx7WA
Java”だけ"だと思ってるんだからなあ。知識が無さすぎなのが顕著だな

こいついつものやつか?
自分の知らないこと話すなマウント取れないからってことだろうとしか思えないw

155732020/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 と解答を得たとしても、
処理が終わった時には、その時刻を過ぎているかも知れない

それと、夏時間・うるう秒などにも、注意

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
↑これで元の時刻表記に変換し直せばいい。

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

158デフォルトの名無しさん2020/12/04(金) 12:55:10.42ID:HyuHUD7c
>>154
Javaだけでも、Javaと○○だけ でもどっちでもいいよw
どちらにしろ特定の言語専用の用語で
dateコマンドと関係ないんだから
常識だろ

>>156
dateを2回呼ばないです。代わりにawkを呼ぶので遅いです。じゃ
あまり意味ないな。コードもクソ長いし。

159デフォルトの名無しさん2020/12/04(金) 12:55:33.77ID:HyuHUD7c
>>157
> それって date +%s じゃ駄目なんだっけ。

+%sはPOSIX準拠じゃない

160デフォルトの名無しさん2020/12/04(金) 12:55:34.58ID:yENL1Rc+
>>84
このTZずらし戦法って1時間以下のずらしでも使えるのかな?
とりあえずインドとの時差は3時間30分だから30分単位とかはできる?

161デフォルトの名無しさん2020/12/04(金) 13:04:25.05ID:HyuHUD7c
ネパールって時差15分単位のずれなのかw
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関数も当てはまる話だってのに、概念がわからないんだからなあ
概念の例としてわかりやすい形になってるのが、オブジェクトな言語でのフレームワークでって話なんだが、理解する気もなく「言うな」なんだからなあ
お前は入ってこなくていいよ、もう理解する気もなく文句言うだけなんだから

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週間だった)

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

169デフォルトの名無しさん2020/12/04(金) 18:50:44.54ID:9vuroJRJ
>>165
>POSIXのそこらのC関数も当てはまる話だってのに、~
>概念の例としてわかりやすい形になってるのが、~
って言ってるのに。読めなさすぎだろう。方々で似たような実装なのは、特定言語特有の話ではなくコンピュータサイエンスwとしてのだからだろうにな
シェルスクリプトしか知りません興味ありませんすぎだろう

170デフォルトの名無しさん2020/12/04(金) 18:55:02.87ID:9vuroJRJ
>>168
そんなのあるのね。ちょいググったところではGNUの機能削除版?
でも、-d があるらしいから絶対的に(?)必要な機能はあるんじゃないのかな?

171デフォルトの名無しさん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

172デフォルトの名無しさん2020/12/04(金) 20:48:41.94ID:C8tBrA1L
> case1 なら BSDに合わせろw いや、どれもどこかに合わせろw

まあ、それだな。
macOSもあるのでLinuxだけに準拠すればいいという時代じゃない
あとawkとかやめてくれまじで

173デフォルトの名無しさん2020/12/04(金) 20:51:59.59ID:9vuroJRJ
>>172
> awkとかやめてくれまじで
別に同じようなことできる他のを使えばいいだろう。そっちが素直に書けると思うなら、そういうように読み替えて
失礼ながら、マジでは以後も無視します。別に拘ってるわけでもないしね(使うことに/使わないことにどっちも)

174デフォルトの名無しさん2020/12/04(金) 20:53:34.79ID:C8tBrA1L
> 別に同じようなことできる他の
ってなに?まさかPerlとは言わないよね?w

175デフォルトの名無しさん2020/12/04(金) 20:56:17.67ID:9vuroJRJ
>>174
は??w
使うなと言ってるあなたのお好きなのにだよ。なんで俺に聞くw

176デフォルトの名無しさん2020/12/04(金) 21:51:54.12ID:rhOsBffZ
(意訳) クッソー、マウント取れねぇじゃねぇか

177デフォルトの名無しさん2020/12/04(金) 22:06:43.73ID:ECFKf8K5
>>158
dateを二回呼ばない理由って,
もしかして動作速度のせいって思ってる?

178デフォルトの名無しさん2020/12/04(金) 22:08:20.50ID:ECFKf8K5
>>171
同じクソ長いコードなら,
POSIX準拠のクソ長いコードの方がいくらかマシだなw

179デフォルトの名無しさん2020/12/04(金) 22:08:45.95ID:DO1guVvJ
へえ

180デフォルトの名無しさん2020/12/04(金) 22:11:28.39ID:UZX5oUlx
>>177
両方だろ。タイミング次第ではバグる。遅い。

> POSIX準拠のクソ長いコードの方がいくらかマシだなw
POSIX準拠のクソ長いコードってこのスレででてたっけ?

181デフォルトの名無しさん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:aYzT9jgU
>>182
あいつを模写ってるのだろうが、馬鹿みたいだからやめなさいw
あいつと同じ馬鹿みたいな無理筋なマウント取りたいだけに見えるからw

184デフォルトの名無しさん2020/12/04(金) 22:26:47.45ID:UZX5oUlx
ほらやっぱり反論は無しと、φ(..)メモメモ

185デフォルトの名無しさん2020/12/04(金) 22:29:34.69ID:aYzT9jgU
>>184
お前はあいつなのか?
俺は>>180のレスに反してはないぞ、よくわからん追いきれてない部分があるけどな
だからやめなさいと言ってるだろw

186デフォルトの名無しさん2020/12/04(金) 22:36:07.76ID:UZX5oUlx
反対しないならレスしないでよ
POSIX準拠のクソ長いコードがでるのをまってるの

187デフォルトの名無しさん2020/12/04(金) 22:40:10.63ID:aYzT9jgU
えーっw
そういうこというとなおさらあいつみたいな自己中自分だけの世界で生きてるやつに...w
まあ、なんらかの恥ずかしさからそう言っちゃったと受け取っておくよw

大人しく俺も待つよww

188デフォルトの名無しさん2020/12/04(金) 23:47:12.43ID:IqAXsol3
自分もPOSIX準拠の長いコード、とやらを見てみたい

189デフォルトの名無しさん2020/12/05(土) 00:07:35.66ID:Q5wPn3Se
「POSIX準拠のクソ長いコード」って
>>158
この人が言ってた「コードもクソ長いし」を念頭に置いてるんじゃ

190デフォルトの名無しさん2020/12/05(土) 00:10:29.29ID:Q5wPn3Se
自分はポジックス信者ではないけど,
「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準拠とはクソ長いは全く関係ない

194デフォルトの名無しさん2020/12/05(土) 08:05:02.70ID:L0bYd0ih
>>193
それは違う。(別に>>156を積極的に養護するつもりもないがw)
POSIXののdateには秒->日付、日付->秒、どちらの機能もないから自作するしかない。
awkを呼ぶにしてもPOSIXのだと時刻系関数がないから自作。
POSIXerはつらいということw

195デフォルトの名無しさん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’`みたいなコマンド作る

197デフォルトの名無しさん2020/12/05(土) 12:30:36.45ID:Q5wPn3Se
まあ「辛くない」って言える内は幸せよ……
経験を積んでくると,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準拠のクソ長いコード」と言ってしまって良い。

199デフォルトの名無しさん2020/12/05(土) 13:34:14.56ID:++4jxPOM
いやこのスレ、シェルスクリプトのスレだから

C言語で書いてもPOSIX準拠だね
だけどこのスレでC言語で答えるのは間違いでしょ

200デフォルトの名無しさん2020/12/05(土) 13:36:57.86ID:En2ZUb0e
>>197
>複数のシステムで期待どおりの動作をさせることが
>どれだけ大変かが身に沁みて分かってくるから。

がんばってw

201デフォルトの名無しさん2020/12/05(土) 17:21:06.89ID:WoNSxYte
>>199
>だけどこのスレでC言語で答えるのは間違いでしょ

ということはcoreutilsを別途入れるのは反則? w

202デフォルトの名無しさん2020/12/05(土) 20:10:29.89ID:++4jxPOM
>>201
お前はコマンドを「作る」と「使う」の違いもわからんのか?

203デフォルトの名無しさん2020/12/06(日) 00:28:21.63ID:rU5Tjp1X
なんかグダグダやってるけどシェルスクリプトで
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だよ

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

214デフォルトの名無しさん2020/12/06(日) 02:17:28.74ID:NqcvkCcY
>>203
ただの後出しジャンケン乙w
例えばUNIXタイム以外でどうにかするとかいうなら今からコメントする価値はあるが。

215デフォルトの名無しさん2020/12/06(日) 02:23:24.16ID:rU5Tjp1X
チューリング完全かどうかでいいんじゃないの?
チューリング完全なもので実装=他言語で実装
ここはシェルスクリプトのスレなので対象外

216デフォルトの名無しさん2020/12/06(日) 02:26:06.11ID:rU5Tjp1X
>>214
後出しジャンケンはそのとおりだけど
ジャンケンで俺が勝ったということでいいの?w

217デフォルトの名無しさん2020/12/06(日) 10:58:49.79ID:+d6RCg1G
>>211
お~い,なんの単語で調べたか答えてくれよ~

218デフォルトの名無しさん2020/12/06(日) 11:04:27.70ID:+d6RCg1G
>>215
なるほど。
そうするとPOSIX sedは計算完備ではないので
このスレで詳しく議論できるな。
よかったよかった

219デフォルトの名無しさん2020/12/06(日) 11:24:08.76ID:43odFZj2
>>281
sedもチューリング完全らしいよ
https://catonmat.net/proof-that-sed-is-turing-complete

220デフォルトの名無しさん2020/12/06(日) 12:42:10.98ID:+d6RCg1G
>>219
それPOSIX sedで動きますか? 試してみましたか?

221デフォルトの名無しさん2020/12/06(日) 12:46:27.12ID:+d6RCg1G
ちなみに*GNU* sedの--posixオプション付けて動かして
「動いているように見える」からPOSIX sedに準拠してる!っていうのは
当然だめだからね。分かってると思うけど。

222デフォルトの名無しさん2020/12/06(日) 12:53:07.47ID:43odFZj2
>>220
自分で試せよ
GNU sedでも--posixつければGNU拡張は全部無効になるんだから

223デフォルトの名無しさん2020/12/06(日) 12:53:27.33ID:43odFZj2
> 当然だめだからね。
なぜ?

224デフォルトの名無しさん2020/12/06(日) 12:54:15.15ID:43odFZj2
つーか試してみて動いちゃったから
焦って後出しで--posixの話加えただろw

225デフォルトの名無しさん2020/12/06(日) 12:57:09.16ID:43odFZj2
倉庫番のやつ、99ステージあるけどどうやってるんだろうと思ったら
普通にソースコードに初期配置が文字列で書かれてるんだな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で試しましたか?

230デフォルトの名無しさん2020/12/06(日) 22:45:34.65ID:+d6RCg1G
>>229
鸚鵡返ししかできないのですか?
(どうも図星らしい)

231デフォルトの名無しさん2020/12/06(日) 23:00:58.44ID:43odFZj2
だから試せばPOSIX sedで動くのがわかるだろ

232デフォルトの名無しさん2020/12/07(月) 01:05:35.09ID:m+PLJN/4
ポジに執着して何かいいことありますか?

233デフォルトの名無しさん2020/12/07(月) 01:10:20.04ID:owPfoMMb
ネガより色再現性が高いんです

234デフォルトの名無しさん2020/12/07(月) 01:35:18.15ID:KzEPqVfm
>>232
POSIX準拠にすればどこでも動く
むしろPOSIX準拠にしないなら
別の言語でいいだろ

235デフォルトの名無しさん2020/12/07(月) 01:43:28.16ID:ZAwFxdvq
出たよw

236デフォルトの名無しさん2020/12/07(月) 02:12:05.18ID:zwD8QGuc
しかし、ポジ準拠を謳いつつ、バグでもあったらどうすんだ?
処理系の問題だと言い張って、相手にしないつもりなの?

どこでも動くとか無責任なことは言うまい。
必要なのは動作確認。

237デフォルトの名無しさん2020/12/07(月) 08:49:22.82ID:KzEPqVfm
> しかし、ポジ準拠を謳いつつ、バグでもあったらどうすんだ?
動作確認すればいいだけ

238デフォルトの名無しさん2020/12/07(月) 14:06:32.50ID:/1DmOEYs
>>236
POSIX sedで動作確認しましたか?

239デフォルトの名無しさん2020/12/07(月) 14:32:40.29ID:zwD8QGuc
>>238
なんでオレが?w
必要なヤツがやれ!

240デフォルトの名無しさん2020/12/07(月) 17:48:32.54ID:l3Pgl7mQ
>>216
あー言い方がよくなかった。
すでに解決した問題のごく一部を後からかいつまんで、何か自分が有益な情報を
与えたかのようなふりをすること、だ。こういうのを何と言ったっけな。
コバンザメとか、そういうのにも近い。

241デフォルトの名無しさん2020/12/07(月) 19:02:40.12ID:hZsbXMrW
> すでに解決した問題

いいえ、POSIX準拠のシェルスクリプトでの
UNIXタイムの変換の話は出ていませんでした。

242デフォルトの名無しさん2020/12/07(月) 19:05:58.05ID:hZsbXMrW
有益な情報を与えたというか、単にググりましょうと言っただけですね。
下手の考え休むに似たり。ググればすぐ見つかるのに無駄な時間を過ごしてるなと言う話です。

243デフォルトの名無しさん2020/12/07(月) 23:44:28.22ID:/1DmOEYs
>>241
出てます。>>143

244デフォルトの名無しさん2020/12/08(火) 00:37:56.66ID:/pT3aml4
>>243
まとめるとね

POSIXのdateには+%sがないし、今日の日付は取得できるけど任意の日付は取得できない
+%jを使った計算は出てるけど月日形式じゃなくて、その年の初めからの日数(例 12月08日の場合は343日)からの
変換だから、一般的な年月日形式からの変換はできない。またUNIXタイムから年月日への変換は全くでてない。

という話の流れぐらいわかってください

245デフォルトの名無しさん2020/12/08(火) 13:13:44.13ID:eUC1uxpz
こいつらいっつも喧嘩してるな(´・ω・`)

246デフォルトの名無しさん2020/12/08(火) 17:56:01.38ID:TAcWm+rA
>>244
> またUNIXタイムから年月日への変換は全くでてない。
残念、 それも出てます。
>>156

247デフォルトの名無しさん2020/12/08(火) 19:11:00.60ID:NLDQQmQ4
脊髄反射を競うスレだからね

248デフォルトの名無しさん2020/12/08(火) 19:20:40.05ID:ZFT993pL
>>246
それはawkスクリプトかつクソコードということで決着はついたはずだが?

193デフォルトの名無しさん2020/12/05(土) 01:36:28.83ID:Tpji0Itw
まさかPOSIX準拠のクソ長いコードって>>156のコードのことなのか?
あれはシェルスクリプトの部分はごく僅かでほぼ9割がawkスクリプト
しかもオプション解析とか無駄なことをやってるからクソ長くなってるだけ
いやアルゴリズムもなんかムダに長い気がするな
あれみていってるなら、POSIX準拠とはクソ長いは全く関係ない

215デフォルトの名無しさん2020/12/06(日) 02:23:24.16ID:rU5Tjp1X>>218
チューリング完全かどうかでいいんじゃないの?
チューリング完全なもので実装=他言語で実装
ここはシェルスクリプトのスレなので対象外

249デフォルトの名無しさん2020/12/08(火) 19:34:42.29ID:TAcWm+rA
なるほど,ではAWKやsedを使わずに,
「POSIX準拠のシェルスクリプトでのUNIXタイムの変換」
を示してください。

250デフォルトの名無しさん2020/12/08(火) 19:43:49.41ID:ZFT993pL
「POSIX準拠のシェルスクリプトでのUNIXタイムの変換」
を検索してください。

251デフォルトの名無しさん2020/12/08(火) 19:45:03.55ID:ZFT993pL
検索キーワードを自分で書くとか
わかっててわざとやってるんだろうか?w

252デフォルトの名無しさん2020/12/08(火) 20:44:10.87ID:hItfS6FC
ポジがどうのはよくわからんがsuperじゃないedもダメなの?今man引いたらだとgnu-ed(ed)が出てきてポジ云々書いてない
シェルスクリプト用途のgrep/sedの7割くらいは違和感なく置き換えられると思うが

253デフォルトの名無しさん2020/12/08(火) 21:53:32.63ID:ZFT993pL
>>252
POSIX準拠だと移植性が上がるのでベター
コマンド呼び出しは遅いのでシェルスクリプトで実装したほうが圧倒的に速い
この2つの話が混ざってる

254デフォルトの名無しさん2020/12/08(火) 22:20:03.23ID:TAcWm+rA
>>250
検索したところ
>>156
で言及されているコードが見付かりました。

255デフォルトの名無しさん2020/12/08(火) 22:28:27.56ID:TAcWm+rA
ていうか「AWKやsedを使っていないPOSIX準拠のシェルスクリプトでのUNIXタイムの変換」
は普通に気になるわ。
はたしてそれがシェルショッカー作のPOSIX AWK製 通常時間・UNIX時間相互変換スクリプト
より早いのかどうかも含めてね。

あ,なんかこういう書き方をすると発狂する奴が出てきそうなんで念の為言っておくが,
別に俺はPOSIX最高!なんていう主義じゃないよ。
ただ単に,「POSIXに従った通常時間・UNIX時間相互変換シェルスクリプト」として
>>156 を挙げたら,
「それはAWKで書かれてるからシェルスクリプトじゃない(←まあ理解はできる),
俺は >>203 から始まる一連のスレで言及されている

203デフォルトの名無しさん2020/12/06(日) 00:28:21.63ID:rU5Tjp1X>>214
なんかグダグダやってるけどシェルスクリプトで
UNIXタイムの変換ってぐぐったら普通にでてくるやん

204デフォルトの名無しさん2020/12/06(日) 00:35:27.33ID:I5tPmPco
POSIX準拠じゃないからダメです

205デフォルトの名無しさん2020/12/06(日) 00:40:12.93ID:rU5Tjp1X
いやPOSIX準拠であるって

「ググッたら普通に出てきて」「AWKやsedで実装されてなくて」「POSIXに準拠した」
「UNIX時間を変換するシェルスクリプト」が知りたいのよ。
>>248 でも言及があるな。

それともこれは嘘?

256デフォルトの名無しさん2020/12/08(火) 22:30:51.38ID:TAcWm+rA
まあこんだけグダグダやってもそのコードが挙げられない,ってことは,
多分最初に言及してたのは >>156 のコードで,
それを脊髄反射で否定してしまったから出そうにも出せなくなってしまってる,ってとこだろう。

↑これに反論したけりゃ実物のコードを出せ。そしたらそれで済む話だ。
俺は気にしないが,君が体裁を気にするような人物なら,コードを出してくれたら
「すいませんでした」と言ってもいいぞ。

257デフォルトの名無しさん2020/12/08(火) 22:47:32.95ID:3Lge4PBr
date コマンド1回で、POSIXで、awkやsedなしで、早い処理で ....

意味不明になってきてるけども。
まあそうやって遊びたい人は自分でやれば。ってそういう奴に限って自分ではできない

258デフォルトの名無しさん2020/12/08(火) 23:12:57.26ID:TAcWm+rA
>>257
いやいやそれを俺に言うのは違うでしょ。
俺は >>156 でいいじゃん,と言っている。

ところが >>203 やら >>250 で,
「AWKやsedを使わない」
「POSIX準拠の」
という条件が出てきている訳だ。
それは純粋に知りたいでしょ。
俺の知っているPOSIXに準拠しつつ
UNIX時間変換を行えるのはAWKでのやりかた。

259デフォルトの名無しさん2020/12/09(水) 00:29:09.55ID:vZ4bQifg
あれ,全然出てこないな。
くっだらねえ反論はあれだけ反射的なのにw

260デフォルトの名無しさん2020/12/09(水) 00:32:59.35ID:jODQKuwy
口先POSIXおじさんw

261デフォルトの名無しさん2020/12/09(水) 00:45:24.40ID:XzWvmoKM
単純な時間計算の質問をネタにマウンティング合戦を1週間も続けられるってすごいよね

シェルスクリプトにこだわる人はさすが生産的!!

262デフォルトの名無しさん2020/12/09(水) 00:58:47.06ID:eCHhpLek
>>258
ググったらすぐ出てきたよ?
キーワードはこのスレに書いてある

263デフォルトの名無しさん2020/12/09(水) 01:21:27.68ID:S42PKcAA
志村けんは生きてるよ?
ググったら詳細出てくる

264デフォルトの名無しさん2020/12/09(水) 01:25:58.77ID:eCHhpLek
そうにかして言い返そうと頑張ったんだろうなとは思う(笑)

265デフォルトの名無しさん2020/12/09(水) 01:26:14.19ID:eCHhpLek
どうにかして

266デフォルトの名無しさん2020/12/09(水) 01:48:07.85ID:vZ4bQifg
なぜ、現物を持って来れないのか。
理由は自ずと分かるよね?

267デフォルトの名無しさん2020/12/09(水) 01:49:45.29ID:vZ4bQifg
>>260
そのあだ名いいなw
>>262 なんて典型的。

268デフォルトの名無しさん2020/12/09(水) 01:50:34.09ID:eCHhpLek
>>249
> なるほど,ではAWKやsedを使わずに,
> 「POSIX準拠のシェルスクリプトでのUNIXタイムの変換」
> を示してください。

「POSIX準拠のシェルスクリプトでのUNIXタイムの変換」でGoogleで検索して
上位5つの検索結果=「現物」を持ってきてください
人によって順位は違うらしいからね

なぜ現物を持ってこれないのか?
検索で簡単に見つかるという現実を受け入れられないからなのかな?

269デフォルトの名無しさん2020/12/09(水) 01:51:21.47ID:eCHhpLek
検索結果を貼り付けるだけでいいんだけどな
なんでそんな簡単なことができないんだろう?

270デフォルトの名無しさん2020/12/09(水) 02:03:19.79ID:S8QsR+fb
天才的w計算式で確証持てないとかかなあ
もしくは本当にググればすぐ出てるだろうかw

271デフォルトの名無しさん2020/12/09(水) 02:32:53.12ID:eCHhpLek
まあ計算式みても確証は持てないわな

Rich’s sh (POSIX shell) tricks
http://www.etalabs.net/sh_tricks.html
これ有名な記事なんだけど、ここに書いてあるUNIXタイムへの
天才的な計算式はバグってる

https://lobste.rs/s/uk5esr/rich_s_sh_posix_shell_tricks
ここで指摘されてる

何がいいたいかって言うと、この手のやつは計算式でもアルゴリズムでも
ぱっと見で確証持てないなんて当たり前だよってこと
うるう年の計算でさえ人類は何度もバグを入れてきた

272デフォルトの名無しさん2020/12/09(水) 02:37:26.28ID:eCHhpLek
ん?今気づいたが>>156のやつって、Rich’s sh (POSIX shell) tricksに
書いてあるバグありバージョンじゃんw
echoに書き換えてるから気づかなかったが計算式が一緒

awkスクリプトのやつも正しいかどうかわからんよねと
言おうとして、見返して気づいた

273デフォルトの名無しさん2020/12/09(水) 02:44:05.93ID:eCHhpLek
比較してみたw 上から、
 ・>>156版(バグ)
 ・Rich’s sh (POSIX shell) tricks版(バグ)
 ・訂正版

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)") ))
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)"` ))
echo $(( `TZ=GMT0 date +"((%Y-1600)*365+(%Y-1601)/4-(%Y-1601)/100+(%Y-1601)/400+1%j-1000-135140)*86400+(1%H-100)*3600+(1%M-100)*60+(1%S-100)"` ))

3箇所、1601を1600に書き間違えてるんだな
検証大事

274デフォルトの名無しさん2020/12/09(水) 02:48:54.69ID:znx7LG09
あれほど自分で言い張ってたくせに

275デフォルトの名無しさん2020/12/09(水) 02:51:35.80ID:eCHhpLek
>>274
誰にレスしてるのか知らないが、多分レスする相手を間違ってる

276デフォルトの名無しさん2020/12/09(水) 02:52:11.84ID:AAEJArmB
>>267
本当に口先口数だけだったなw

277デフォルトの名無しさん2020/12/09(水) 02:55:23.53ID:eCHhpLek
ということで、検索ぐらいしましょうねw
じゃあ寝る

278デフォルトの名無しさん2020/12/09(水) 02:56:41.58ID:jODQKuwy
このようにPOSIXに拘泥するとバグります。
と言うよりPOSIXバカは一般人よりバグを出す率が高い。
証拠はググったら出てくるw

279デフォルトの名無しさん2020/12/09(水) 02:57:35.34ID:eCHhpLek
POSIX関係ない。単に>>156がバカなだけ
検証もせずバグありコードと冗長なawkスクリプト持ってきてるw

280デフォルトの名無しさん2020/12/09(水) 03:01:08.59ID:AAEJArmB
またいつものごまかしw

281デフォルトの名無しさん2020/12/09(水) 03:03:51.77ID:eCHhpLek
バグコードでした・・・事実
冗長なawkコードでした・・・事実

282デフォルトの名無しさん2020/12/09(水) 09:31:11.63ID:vZ4bQifg
自分がコードを出せないからといって他人を僻むのはやめましょうw
結局、POSIXの範囲でUnixタイム→通常時間への変換はAWK使う方法くらいしかない。

ほんまポジバカは口先だけで何も生産しようとしないな。
別に擁護する訳じゃないが、ちゃんとコードを出すだけ >>156 とかのほうがまだマシ
バグがあったとしても指摘して修正できる。
一方、コードを出さなければいつまでたっても自分の間違いをつっつかれることはない。

283デフォルトの名無しさん2020/12/09(水) 10:06:49.17ID:ZEWfqGU4
>>282
なんてキーワードで検索した?
なんで検索結果の上位5位という「現物」を
ここに貼り付けられないの?

再掲
> 「POSIX準拠のシェルスクリプトでのUNIXタイムの変換」でGoogleで検索して
> 上位5つの検索結果=「現物」を持ってきてください
> 人によって順位は違うらしいからね
>
> なぜ現物を持ってこれないのか?
> 検索で簡単に見つかるという現実を受け入れられないからなのかな?

284デフォルトの名無しさん2020/12/09(水) 10:52:32.53ID:PAUMj9+d
簡単に見つかるなら貼ればいいじゃん
貼れないのは無いから

285デフォルトの名無しさん2020/12/09(水) 10:56:12.39ID:h/snEzA+
まだやっててわろた

286デフォルトの名無しさん2020/12/09(水) 11:32:48.42ID:LWKBPFtb
ポバカ vs アンチポ
というよりは、検索の押し付けあい?w

287デフォルトの名無しさん2020/12/09(水) 11:59:10.93ID:ZEWfqGU4
検索結果の上位5位がないってどういう状態?
見つけたものじゃなくて、検索結果だよ。
Google検索が壊れてるの?

288デフォルトの名無しさん2020/12/09(水) 12:19:16.95ID:vZ4bQifg
どんだけ検索結果にこだわってんだよwww
そんなのどうでもいいから
お前が見つけたサイトやら記事やらを晒せって言ってんだよ。

頭おかしいなりに付き合ってたら
ポジキチからなにかPOSIX準拠でAWKに依存しないコードが得られるかも
と思ってここまでレスを返してあげてきたがもういいわ。
>>156 のutconvで十分。
AWKスクリプトがどうとかは関係ない。
あとPOSIXにこだわるのをやめるのも一つの手だぞ。
date -dとか%sとかなんてほぼどんなシステムでも使えるんだから。

289デフォルトの名無しさん2020/12/09(水) 12:32:45.70ID:ZEWfqGU4
> ポジキチからなにかPOSIX準拠でAWKに依存しないコードが得られるかも

だから検索したら得られるって何度も言ってる
検索キーワードも(誰かがw)書いた
得られるのは確定、お前に検索ぐらいしろよと言ってるだけ

290デフォルトの名無しさん2020/12/09(水) 12:35:10.53ID:ZEWfqGU4
> date -dとか%sとかなんてほぼどんなシステムでも使えるんだから。

有名である程度のシェアを持ってるmacOSで使えない

291デフォルトの名無しさん2020/12/09(水) 12:43:08.94ID:jODQKuwy
だから検索したら得られないって何度も言ってる
得られないのは確定、お前に結果ぐらい貼れよと言ってるだけ
無いから貼れないんだろうがな

292デフォルトの名無しさん2020/12/09(水) 12:45:51.62ID:ZEWfqGU4
> だから検索したら得られないって何度も言ってる

それが事実かどうか判断するために
検索結果をここに貼れと言ってる

無関係の記事や、見つからなかったという結果でいいんだよ。
単に検索結果だけ貼ればいい。それぐらいできるでしょ?

293デフォルトの名無しさん2020/12/09(水) 13:11:36.81ID:jODQKuwy
> だから検索したら得られるって何度も言ってる

それが事実かどうか判断するために
検索結果をここに貼れと言ってる

見つかった記事や、見つかったという結果でいいんだよ。
単に検索結果だけ貼ればいい。それぐらいできるでしょ?

294デフォルトの名無しさん2020/12/09(水) 13:16:48.95ID:ZEWfqGU4
オウム返ししかできなくなったか

295デフォルトの名無しさん2020/12/09(水) 13:17:35.38ID:jODQKuwy
はよ貼れや
あるならなプゲラ

296デフォルトの名無しさん2020/12/09(水) 13:18:05.27ID:ZEWfqGU4
むしろなんでシェルショッカーの記事を見つけだせたのかわからん
こっちの方が検索しても見つからないぞ

(あ、シェルショッカー本人かw)

297デフォルトの名無しさん2020/12/09(水) 13:19:51.75ID:rIU0lDlE
検索したらPOSIXはオワコンって書いてあった。
検索すればすぐ出てくる。
出てこないというならその結果を貼れ。

298デフォルトの名無しさん2020/12/09(水) 13:20:27.65ID:ZEWfqGU4
>>295
検索して見つからなかったというのなら
その見つからなかった結果を貼れと言ってます

あるなら貼るだと、なければ貼れないけど、
あってもなくても貼れなら
検索結果が貼れないなんてことはないのです

299デフォルトの名無しさん2020/12/09(水) 13:21:20.38ID:ZEWfqGU4
>>297
なんてキーワードで検索したんですか?

ちなみに見つかる検索キーワードは
上の方で「」つきでしっかり書かれています。

300デフォルトの名無しさん2020/12/09(水) 13:22:45.72ID:jODQKuwy
しょうゆは発ガン物質。
検索すればすぐ出てくる。
検索して見つからなかったというのなら
その見つからなかった結果を貼れ

301デフォルトの名無しさん2020/12/09(水) 13:24:09.58ID:ZEWfqGU4
ちなみにこちらは「見つかっても見つからなくてもいいから」
「検索結果」を貼れと言ってます。

検索したという事実を見たいだけです。

無関係な例えは潰しておきますw

302デフォルトの名無しさん2020/12/09(水) 13:27:11.24ID:rIU0lDlE
見つかった結果を貼れ
見つからないから貼れないで詭弁でごねてるだけ

303デフォルトの名無しさん2020/12/09(水) 13:28:41.82ID:ZEWfqGU4
>>302

代わりにお前でもいいよw
見つからなくていい。ググって出てきたものを貼るだけ

再掲
> 「POSIX準拠のシェルスクリプトでのUNIXタイムの変換」でGoogleで検索して
> 上位5つの検索結果=「現物」を持ってきてください
> 人によって順位は違うらしいからね
>
> なぜ現物を持ってこれないのか?
> 検索で簡単に見つかるという現実を受け入れられないからなのかな?

304デフォルトの名無しさん2020/12/09(水) 13:31:32.04ID:jODQKuwy
見つかったなら貼ればいいだけ
見つからない、貼れない、
だからすり替えでごまかしてるだけw
誰にも効いてないがw

305デフォルトの名無しさん2020/12/09(水) 13:38:52.41ID:ZEWfqGU4
検索キーワードがあれば十分でしょ?w
そこで見つかると言ってる

306デフォルトの名無しさん2020/12/09(水) 13:43:40.09ID:jODQKuwy
見つかった証拠出せ。
貼るだけ。
これができないのはなぜでしょう?
答え:嘘んこだからw

307デフォルトの名無しさん2020/12/09(水) 14:27:06.23ID:ZEWfqGU4
嘘か本当か自分で調べればわかること
本当に調べたのであれば検索結果を貼ることが出来るはず

見つかった証拠を貼れと言ってるのではない
検索した結果を貼れと言ってるだけで内容についてはどうでもいい

これができないのはなぜでしょう?
答え:検索すらできない人だからw

308デフォルトの名無しさん2020/12/09(水) 15:51:00.03ID:An1T/9HU
【置換前文字列1】を【置換後文字列1】に、【置換前文字列2】を【置換後文字列2】に、、、
ってときに
sedを一行で書くのではなく、何行かに分けてかくのが普通ですか?
(単に複業数を一行に見せるやり方という意味ではなく、置換前後の対応的な書き方があるのかなと)

309デフォルトの名無しさん2020/12/09(水) 16:14:27.63ID:vZ4bQifg
findコマンドについて、
対象となるファイルが一つも見付からなかった場合でも(grepとかと違って)
終了ステータスは0のままであることって保証されてるっけ?
ここ↓の終了ステータスの節をみても微妙に分からない。
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/find.html

310デフォルトの名無しさん2020/12/09(水) 16:28:08.45ID:vZ4bQifg
>>308
sed -e '<置換命令>;<置換命令>;<置換命令>'
ってやるのと
sed -e '<置換命令>' -e '<置換命令>' -e '<置換命令>'
ってやるのとの違いってこと?


$ <<. sed -e 's/a/b/g' -e 's/b/c/g'
a-b-c
.
→c-c-c
$ <<. sed -e 's/a/b/g;s/b/c/g'
a-b-c
.
→c-c-c

↑こういう「普通の」操作なら別にどっちでも結果が変わらないから
自分が好きな方で書けばいいんじゃないかな。

311デフォルトの名無しさん2020/12/09(水) 16:31:23.67ID:ZEWfqGU4
>>308
見やすいように書けばいいよ
長ければ複数行じゃないと見づらいだろ?

sedって引数で正規表現置換命令を単体で書くような感じだけど
実際は複数の命令を書くところなんだよね

こういう引数で置換!じゃなくて
行を読み取ってその行に対して、あれをやってこれをやってそれをやって・・・と複数の命令を書く
それがわかってない人が意外と多い気がする

312デフォルトの名無しさん2020/12/09(水) 17:17:45.74ID:h/snEzA+
っていうか前スレがまだ埋まってないやん
検索結果がなんだのくだらない話で埋めてくれてもええんやで

313デフォルトの名無しさん2020/12/09(水) 21:46:27.20ID:vZ4bQifg
最近findの-exec被演算子による実行を
for _var_ in *; do ...; done
を置き換える形で好んで使っている。
まあfor文の何が悪いって訳じゃないけど
強いて挙げるならfindを使う方法は余計な変数を用意しなくていい。
for文にしかできないことっていうのもそうそうないし。

314デフォルトの名無しさん2020/12/09(水) 22:15:47.43ID:sjKwJCQI
何故xargsじゃなくて-exec...

315デフォルトの名無しさん2020/12/09(水) 22:17:29.01ID:0QlTtfMo
適材適所

forはファイル数が多数になった場合には引数が多すぎでエラーになる可能性があるから
ファイルを繰り返し処理するのはおすすめできない
ただし-execはシェル関数が呼べなかったりシェルスクリプトの処理との連携が
できないというデメリットが有る

外部コマンドを呼び出すだけなら-execでいいが
そうとは限らない場合はfind + while + read ループの方がいいだろう

ファイルの数が少ない場合は外部コマンドを呼び出さない分
for(というか * )の方が速い

それで検索してみたか?

316デフォルトの名無しさん2020/12/09(水) 22:27:18.92ID:0QlTtfMo
forは余計な変数がいるけど
whileを使えば余計な変数は不要

どうするかって?

set -- *
while [ $# -gt 0 ]; do ...; shift; done

余計な変数がいるからforを使わないというのは正しいが
余計な変数がいるからfindを使うは正しくない

317デフォルトの名無しさん2020/12/09(水) 22:41:19.62ID:vZ4bQifg
>>315
> ファイル数が多数になった場合
これ\+じゃなくて\;を使えば別にファイル数が多数になっても
適宜処理できるんじゃない?

https://pubs.opengroup.org/onlinepubs/9699919799/utilities/find.html
↑これの-execの
If the primary expression is punctuated by a <semicolon>...らへん。

318デフォルトの名無しさん2020/12/09(水) 22:41:47.84ID:vZ4bQifg
>>317
すまん,for文の話だった。

319デフォルトの名無しさん2020/12/10(木) 13:32:02.46ID:PUDbf/ME
>>309
これについて
手元のGNU findで試してみたけど 該当するfile/dirが1件も見付からない場合でも
エラーにならないというかexit statusは0だった。
もっとも これが正しい挙動なのかは不明。

320デフォルトの名無しさん2020/12/10(木) 14:01:03.28ID:A3fjGgOY
POSIXに仕様が書いてあるのに
あの程度も読めないやつがいるんだな

321デフォルトの名無しさん2020/12/10(木) 15:44:18.07ID:PUDbf/ME
>>320
そうなんです,あの程度も読めない奴なんです。
教えていただけますか?

322デフォルトの名無しさん2020/12/10(木) 18:05:30.50ID:A3fjGgOY
これ以外に何の解釈が有るんだ?

EXIT STATUS
The following exit values shall be returned:

0 All path operands were traversed successfully.
>0 An error occurred.

終了ステータス 次の終了値が返されます。

0 すべてのパスオペランドが正常にトラバースされました。
> 0 エラーが発生しました。

323デフォルトの名無しさん2020/12/11(金) 00:40:48.48ID:wU/o6Go9
>>322
対象となるファイルが一つも見付からなかった場合、
終了ステータスは0?

324デフォルトの名無しさん2020/12/11(金) 01:30:47.40ID:s+ujdTab
>>323
悪い仕様の書き方の見本みたいなところあるけど
ファイルが見つかったかどうかはEXIT STATUSには無関係

ファイルが見つかっても見つからなくても
なんらかのエラーで走査できないパスが1つでもあればEXIT STATUSは1以上
全てのパスが走査きればファイルが見つかっても見つからなくてもEXIT STATUSは0

325デフォルトの名無しさん2020/12/11(金) 02:02:17.08ID:76SqqmH2
一般的にはプログラムが正常終了すれば0
異常終了すれば1
ファイルが一つも見つからなくても
プログラムが正常に終了したので0になる

326デフォルトの名無しさん2020/12/11(金) 02:22:36.63ID:ExAO4AKO
>>323
0 すべてのパスオペランドが正常にトラバースされました。
と書いてある

327デフォルトの名無しさん2020/12/11(金) 10:03:55.72ID:ExAO4AKO
あげ

328デフォルトの名無しさん2020/12/11(金) 10:56:58.75ID:wU/o6Go9
>>324
ありがとう!

329デフォルトの名無しさん2020/12/11(金) 10:57:23.23ID:wU/o6Go9
さげ

330デフォルトの名無しさん2020/12/11(金) 10:57:25.22ID:vQm1aiEb
スレはまだ33も34も使えてたな。w

331デフォルトの名無しさん2020/12/11(金) 11:16:29.73ID:wU/o6Go9
>>316
setすげー

332デフォルトの名無しさん2020/12/11(金) 12:51:27.35ID:vQm1aiEb
sedについて質問。
入力に¥x80以上の文字が含まれていた場合、正規表現「.」はマッチしないんだっけ?
試しに「[¥x00-¥xff]」とするとエラーになるし。。。
任意のバイナリは扱えない?

333デフォルトの名無しさん2020/12/11(金) 13:23:03.65ID:hnvNpoRh
前スレ埋めマンおつかれさん

334デフォルトの名無しさん2020/12/11(金) 14:13:42.30ID:wU/o6Go9
>>332
そもそもsedって正規表現のところで\の後に数字を置いて
なにか文字を表わす,みたいなことできなかったと思う。
唯一,s/<ここ>//の←<ここ>の部分で\nが使えるだけ。

https://pubs.opengroup.org/onlinepubs/9699919799/utilities/sed.html

335デフォルトの名無しさん2020/12/11(金) 14:42:33.40ID:vQm1aiEb
>>334
ほかにも'\\', '\a', '\b', '\f', '\r', '\t', '\v'は使えるようだが、それだけか。
うぬぬ。。。

では、次のようなバイナリがあったとき、数値部分を抽出するにはどうすればいいかな?

<任意のバイナリ><数値テキスト>

336デフォルトの名無しさん2020/12/11(金) 16:02:17.03ID:FiGFWWeM
grep -aとか?

337デフォルトの名無しさん2020/12/11(金) 16:18:40.22ID:s+ujdTab
GNU grepで-obUaPで使ってる
https://stackoverflow.com/a/17168847

338デフォルトの名無しさん2020/12/11(金) 16:52:32.46ID:vQm1aiEb
>>336,337
ありがとう。
一瞬だけgrepでなんとかならんかな?と思ったけど、いやムリやろと自己完結してた。。。

ちなみに試した感じ、grep -o(--only-matching)で充分そうだけど、-a(--text)は何のため?

339デフォルトの名無しさん2020/12/11(金) 17:36:15.90ID:IIqX/1kZ
>>332
\x00以外ならできる

$ cat a.txt
漢字
$ hexdump -C a.txt
00000000 e6 bc a2 e5 ad 97 0a |.......|

$ A=$(printf '\xe6')
$ printf "$A" | hexdump -C
00000000 e6 |.|

$ sed "s/$A/ /" a.txt | hexdump -C
00000000 20 bc a2 e5 ad 97 0a | ......|

340デフォルトの名無しさん2020/12/11(金) 17:40:10.43ID:IIqX/1kZ
$ LANG=C sed "s/./ /" a.txt | hexdump -C
00000000 20 bc a2 e5 ad 97 0a | ......|

341デフォルトの名無しさん2020/12/11(金) 18:05:15.53ID:FiGFWWeM
>>338
なんでドキュメントみないのかな

grep はファイルがバイナリだとわかると、 その先の出力を抑制します。

342デフォルトの名無しさん2020/12/11(金) 18:27:02.69ID:vQm1aiEb
>>339
あー、なるほど。
エスケープとかじゃなくて、直にその文字コードの文字を入力したらいいのか。

ってムリ。w
入力ができるできないで言えばできるけど、後から文字が読めなくなるし。

とにかく、sedだってバイナリを扱えないことはない、ということはわかりました。
ありがとう。

343デフォルトの名無しさん2020/12/11(金) 18:29:19.33ID:vQm1aiEb
>>341
いや、実際にバイナリに見えるであろうデータを流して問題がなかったから。
-aなしだとgrepの判定次第になるから、保険でつけといたほうがいいか。

344デフォルトの名無しさん2020/12/11(金) 18:36:44.59ID:IIqX/1kZ
>>342
> 入力ができるできないで言えばできるけど、後から文字が読めなくなるし。

$ A=$(printf '\xe6')
読めるだろ?

後からって読むならスクリプトファイルにしてるはずだし
なにか問題が?

345デフォルトの名無しさん2020/12/11(金) 19:02:21.38ID:vQm1aiEb
>>344
えー。
sed --expression "/[$(printf '\x80')-$(printf '\xff')]/"
とかかなりやばくね?w

今回はgrepでいいです。。。

346デフォルトの名無しさん2020/12/11(金) 19:13:58.45ID:IIqX/1kZ
x80=$(printf '\x80')
xFF=$(printf '\xff')
sed --expression "/[$x80-$xFF]/"
でいいだろ

なんでこう頭が固いのか

347デフォルトの名無しさん2020/12/11(金) 20:19:54.18ID:i7+Pb2PU
シェルスクリプトが大好きなんだ

348デフォルトの名無しさん2020/12/11(金) 21:29:20.20ID:vQm1aiEb
>>346
それくらいならもとのコードのがマシ。
そういう変数にして事故ることもあるので。

349デフォルトの名無しさん2020/12/11(金) 21:42:27.33ID:IIqX/1kZ
>>348
元のコードがやばいって言ったのはお前なんだが
じゃあ何がやばいんだ?
なんで変数にしただけで事故るんだ?
いきあたりばったりで理由づけするのやめろよ

350デフォルトの名無しさん2020/12/11(金) 21:57:40.12ID:uTa/dhkC
ポジ夫はそろそろコテ付けろ

351デフォルトの名無しさん2020/12/11(金) 22:41:13.04ID:vQm1aiEb
>>349
オレのもとのコードはたんに読みにくくてヤバいが、そっちのコードは、一度しか使わない変数で、さらにその名前と値がダブってるところがもっとヤバい。

いきあたりばったりなどではない、確固たるオレの感覚。
わからんのなら、見解の相違ということで。
おしまい。

352デフォルトの名無しさん2020/12/11(金) 23:43:56.95ID:IIqX/1kZ
ダブルのがいやならこうすれば?少しは頭を使おう

for i in 80 ff; do eval "x$i=$(printf "\x$i")"; done

353デフォルトの名無しさん2020/12/11(金) 23:46:03.88ID:wU/o6Go9
sed --expression "/[$(printf '\x80')-$(printf '\xff')]/"

これが「ヤバい」理由を教えてくれたら〝改善〟できるかも知れない。
(正直私にはとくに「ヤバい」コードには見えないのだが……)

354デフォルトの名無しさん2020/12/11(金) 23:48:19.15ID:wU/o6Go9
ていうか読み直したら「感覚」で批判してるのな……
じゃあもういいや。
なんか理論的な欠点があるのかと思って,
私にはそうは見えなかったから勉強の為に訊こうとしたけど
そういう感じではなかったみたい。

355デフォルトの名無しさん2020/12/11(金) 23:52:49.09ID:IIqX/1kZ
他にもこうするとかな。マジ頭が固すぎ

LANG=C sed --expression "s/$(printf '[\x80-\xff]')//"
LANG=C sed --expression "$(printf 's/[\x80-\xff]//')"

356デフォルトの名無しさん2020/12/11(金) 23:57:16.95ID:IIqX/1kZ
「確固たるオレの感覚」が技術力不足によるものだから
自分が未熟であることに気が付かないとどうしようもないだろうな
staticおじさんと一緒

357デフォルトの名無しさん2020/12/12(土) 00:10:55.93ID:iu3yHDzN
(まだ)POSIX準拠じゃないけど、誰かに言われるのも嫌なので一応w

LANG=C sed --expression $'s/[\x80-\xff])//'

358デフォルトの名無しさん2020/12/12(土) 01:09:44.28ID:4UtPcEnB
>>356
バカか。
grepで終わっとる。

359デフォルトの名無しさん2020/12/12(土) 08:26:04.77ID:MG/EKh+i
あるコマンドがシバン使って実行されてたかどうかを知る方法ってある?
例えばscript.shってのがあったとして

$ script.sh ./file で起動されたのか、それとも

[file]
#!/usr/bin/env script.sh

$ ./file で起動されたのか区別したい

360デフォルトの名無しさん2020/12/12(土) 10:35:15.06ID:yfEaL+fJ
>>359
どこで判定するの?
script.shになにかを記述して判定するってことでいいか?

fileじゃなくてscript.shで判定するのは厳しいと思うよ。
というのもシバンは,たとえばLinuxでは
#!xxxx yyyy zzzz
というのを
$ xxxx "yyyy zzzz"
というようなコマンドラインに〝変換〟して実行する訳だから,
xxxxにとってはシバンなのかコマンドラインなのか
判断付かないと思う(間違ってたらすまん)

361デフォルトの名無しさん2020/12/12(土) 13:55:22.07ID:Fly4aHPX
ちょっと話外れるけど
みんな「シバン」派?
俺の周囲はみんな「シェバン」て言ってる
どっちが主流なんだろ

「エヌテーテー」と「エヌティーティー」みたいな
世代間の差がある様な気がしてる
まぁどっちも意味通じるしどちらも間違ってはいないんだろうけど
微妙に気になる

362デフォルトの名無しさん2020/12/12(土) 14:01:32.15ID:Fly4aHPX
ちなみに「エヌテーテー」と「エヌティーティー」の差は
昔は他社とは電話でコミュニケーション取ってたから
「ティー」だと「イー」と間違われる事が多くて
意図的に「T」を「テー」と発音する様になったんだと先輩に聞いた
だからインターネット以前から働いてる人に多いらしい

363デフォルトの名無しさん2020/12/12(土) 14:12:09.74ID:cw6OjyZf
>>362
たぶん後付

じいちゃんばあちゃん世代は
ティッシュじゃなくてテッシュと言ってる
ディズニーランドはデズニーランド

テーテーは小さいイが発音できないのをごまかしたんだろ

364デフォルトの名無しさん2020/12/12(土) 14:17:40.89ID:Fly4aHPX
>>363
確かにうちの爺ちゃんもそんな感じだな
でも50代前半の上司も「テー」って言ってるし
流石にその位の歳の人は普通に言いそうなもんだが

365デフォルトの名無しさん2020/12/12(土) 14:54:29.86ID:yfEaL+fJ
ドイツ語でTがテー読みだからじゃないの?

366デフォルトの名無しさん2020/12/12(土) 15:04:57.86ID:zzt2f7BI
>>361
シェにはならんやら

尿瓶(シビン)のシとは発音が違ってsheやshipのシ
sheをシェーとかshipをシェップと言わないのと同じ
「シィバン」ならまあ理解できる

367デフォルトの名無しさん2020/12/12(土) 15:25:46.24ID:cvY7SZ8V
一番笑ったのは
tea party を
テー・パーチー
と呼んだこと

368デフォルトの名無しさん2020/12/12(土) 15:36:24.16ID:4UtPcEnB
>>366
「shell bang」だと思うと「シェル」「バン」、略して「シェバン」。
全然おかしくないやろ。

369デフォルトの名無しさん2020/12/12(土) 16:34:12.41ID:zzt2f7BI
>>368
じゃ一番有力なsharp-bangが語源と考えると「シャバン」
次に有力なhash-bangを日本語読みで考えると「シュバン」だね

語源がどうあれ語呂合わせで既存の単語に当てたんだからその単語の発音を使うのが普通じゃね?
それともshebangの発音を日本語にすると「シェバン」と書く派?
https://www.merriam-webster.com/dictionary/shebang

370デフォルトの名無しさん2020/12/12(土) 16:41:35.67ID:TQfw61DG
えっちでーでーって言いますわよ!

371デフォルトの名無しさん2020/12/12(土) 16:48:47.64ID:F+pfNArH
キヤノン「…」
キユーピー「…」
シヤチハタ「…」

372デフォルトの名無しさん2020/12/12(土) 17:38:18.46ID:yfEaL+fJ
>>371
それは戦前の読み方が関係しているんであって,
今話題に上がっているtをテー読みするという話とはまた別では?

373デフォルトの名無しさん2020/12/12(土) 18:05:16.18ID:E+dxDDH/
若さって何だ!?

374デフォルトの名無しさん2020/12/12(土) 18:14:44.89ID:/ZVwqEDj
エリチン

375デフォルトの名無しさん2020/12/12(土) 19:06:47.37ID:cvY7SZ8V
ビックカメラの出番か

376デフォルトの名無しさん2020/12/12(土) 19:20:54.12ID:4UtPcEnB
>>373
うっちゅうーけいーじ!ギャ、バーン!!

377デフォルトの名無しさん2020/12/12(土) 19:56:11.05ID:Fly4aHPX
恐らくだけど>>368が近いと思う
みんなbshを「ビーシェ」て言ってる
でもbashは「バッシュ」だから一貫性は無いな

378デフォルトの名無しさん2020/12/12(土) 20:30:05.90ID:Fly4aHPX
>>370
そういえば俺も「デービー」って言うわ

379デフォルトの名無しさん2020/12/12(土) 20:59:52.06ID:cSSCZNHN
セーガー

380デフォルトの名無しさん2020/12/12(土) 22:07:59.63ID:o8F1hrVe
りぽびたんでー
八村塁選手ですらそう言ってるし間違いない

381デフォルトの名無しさん2020/12/12(土) 22:37:56.72ID:/ZVwqEDj
えぬてーてーでーたー
けーでーでーあい

382デフォルトの名無しさん2020/12/13(日) 11:09:17.16ID:RA5rFVG6
fish
フォルダにいくつかの連番名サブフォルダがあり、その中に連番テキストが入っています。
サブフォルダ00: 000.txt 001.txt
サブフォルダ01: 000.txt
ここにあるテキストをサブフォルダ名とテキスト名を明記してまとめたテキストを作りたいです。

all.txt

00-000.txt
りんご
00-001.txt
ごりら
01-000.txt
らっぱ

一応書いてみたのですがあまりうまくいきませんでした
for x in (seq -w 10)
for y in (seq -w 100) ;printf "%s $x-$y.txt";cat "$x/$y.txt" ; end
end > all.txt

連番が001からではなく000から始めたいのと
no such file or directory が出たときにそのループを終わらせたいです。
よろしくお願いします。

383デフォルトの名無しさん2020/12/13(日) 13:39:35.23ID:wMleJLXj
どっからりんごりらっぱがでてきたんだよ?

384デフォルトの名無しさん2020/12/13(日) 14:48:45.37ID:FEa/qC9x
>>382
find . -type f \( -exec sh -c 'echo "$1" | sed -e "s/\.\/sub\([[:digit:]]\{1,\}\)\/\(.*\)/\1-\2/"; cat "$1"' sh \{\} \; \) > all.txt

385デフォルトの名無しさん2020/12/13(日) 14:50:01.64ID:FEa/qC9x
>>384
前提条件
/tmp/382-test$ tree
.
├── sub00
│   ├── 000.txt # → りんご
│   └── 001.txt # → ごりら
└── sub01
└── 000.txt # → らっぱ

3863822020/12/13(日) 18:03:10.51ID:RA5rFVG6
>>383
それぞれのテキストファイルの中身ってことです。すいません。
>>384
ありがとうございます。
そのfish文があまり理解できないのでよかったら教えてください。
特に正規表現部分が複雑でうまく想像できません。
サブフォルダ内には.txtではないファイルもありますが、それはall.txtに入れたくありません。
>>385
/tmp/382-test$がよくわかりません。
また
├── sub00
│ ├── 000.txt # → りんご
│ └── 001.txt # → ごりら
├── sub01
│ └──000.txt # → らっぱ
ファイル構造はこうなっています。
サブフォルダ直下の.txt以外はall.txtに入れたくありません。

387デフォルトの名無しさん2020/12/13(日) 18:13:33.00ID:6hkD3/kE
後出しヤローに付き合ってたらエンドレスなので終了でいいと思う

388デフォルトの名無しさん2020/12/13(日) 18:34:18.01ID:FEa/qC9x
>>386
うんだからそのフォルダ構造でいいんだって。
5chは行頭空白を勝手に縮めるから階層がおかしく見えるだけ。

*.txtしかいれない設定。
find . -type f -name '*.txt' \
\( -exec sh -c 'echo "$1" | sed -e "s/\.\/sub\([[:digit:]]\{1,\}\)\/\(.*\)/\1-\2/"; cat "$1"' sh \{\} \; \) > all.txt

389デフォルトの名無しさん2020/12/13(日) 18:35:35.67ID:FEa/qC9x
とりあえずやってみろ。というかFish shellじゃなくてBourne系のShell(例えばBash)を使ってくれ。

390デフォルトの名無しさん2020/12/13(日) 19:15:32.95ID:QIci+yMm
それを使えって課題なんでしょ
他の使っちゃダメだよ

391デフォルトの名無しさん2020/12/13(日) 20:10:36.68ID:FEa/qC9x
なんだ宿題か。じゃあもういいわ勝手にやってろ

392デフォルトの名無しさん2020/12/13(日) 20:25:17.68ID:17gHgA0W
POSIXじゃないからイライラしてんなw

393デフォルトの名無しさん2020/12/13(日) 21:07:42.22ID:hmf0btsE
>>392
ワロタww

394デフォルトの名無しさん2020/12/13(日) 21:56:47.60ID:RA5rFVG6
>>388
ありがとうございます。
うまくいきました。

色分けされてて見た目がかっこいいのでとりあえずfishに変えてみたんですが、
ネットにあまり情報がなくて知識がないと使いこなせなそうなので考え直します。

395デフォルトの名無しさん2020/12/13(日) 22:08:30.70ID:FEa/qC9x
>>392
草。そんな考えになるのか

396デフォルトの名無しさん2020/12/13(日) 22:44:39.90ID:DQhl+XfW
>>394
ただ、今回の回答はほとんどfishに関係ないけどな。w

397デフォルトの名無しさん2020/12/13(日) 23:47:15.24ID:0ni70Uaa
echo a #b は a と出力されるけど
echo a#b は a#b と出力されるのは
POSIXで決まってますか?

398デフォルトの名無しさん2020/12/14(月) 00:24:09.46ID:v0FLOFDn
>>359
>>360
一般には不可能だと思うけど、Linuxの場合かつshebangで #!/path/to/script.sh のようにenvを使っていない場合は一応可能かもしれない。
script.shの中で cat /proc/$$/comm とすると、前者はscript.shになっていて、後者は./fileになっている。
これはtopに出るコマンド名に相当する。
ただし、パスではなく単なるファイル名なので不完全。

399デフォルトの名無しさん2020/12/14(月) 01:25:47.70ID:Bk30KwCz
>>359
>>360
script.shがCプログラムなら、その中でgetauxval(AT_EXECFN)の結果を見れば分かる
これは、exec系のシステムコールが最初に実行したファイル名をもとに設定されるから、スクリプトならスクリプトのファイル名になる
一方、script.shがbashスクリプトなら、↑の内容が変数$_に入っている
いずれもenvを使った場合は原理的に不可能(そもそもshebangでenvを使うのはあまりよろしくない)
これはenvがscript.shをもう一度execするから、↑の内容がscript.shで上書きされるため

400デフォルトの名無しさん2020/12/14(月) 11:37:42.84ID:Bk30KwCz
>>359
>>360
訂正: bashの$_は別物なので、bash上から実行した時のみ利用可能
一般には、script.shで
read -r -d '' execfn < <(dd if=/proc/$$/mem bs=1 skip=$(($(grep -Po '[^\d ]+ (\d+ ){47}\K\d+(?=( \d+)*$)' /proc/$$/stat))) 2>/dev/null)
とするとAT_EXECFNが$execfnに入る

401デフォルトの名無しさん2020/12/14(月) 13:24:17.46ID:FxT1T5PM
自分の技術力不足をSQLのせいにしている典型的な例だなw

私は昔、2000行に及ぶ一つのselect文を書いたことがある。
副問い合わせの嵐でおぞましい姿をしていた。
あれはSQLの匠に見せればマシになるのだろうか。

もしあの時、既にシェルスクリプトでやる発想があったらよかったが……。
副問い合わせがいくら連なっても素直に書けるからな。

SQLで副問い合わせを多段に利用する場合、インデントが欠かせないと思う。
例えばselect文なら、from句(データ入口)が途中にあるせいでインデント無しではselect文の範囲を区別しづらい。

一方シェルスクリプトの場合、データの出入口は先頭・末尾なので、
インデント無しに無理なく書き足していける。

402デフォルトの名無しさん2020/12/14(月) 13:24:56.95ID:SM2t3qAq
>>401
え?なに怖い
この人には何が見えてるんだろう?

403デフォルトの名無しさん2020/12/14(月) 14:07:16.58ID:AlgRlAv7
怖っ!

404デフォルトの名無しさん2020/12/14(月) 15:27:22.26ID:11mjuS31
長いSQLを誇る=汚いテーブル設計がされてるレベルの低い現場で働いていた証

405デフォルトの名無しさん2020/12/14(月) 16:32:17.05ID:SM2t3qAq
どっからSQLの話でてきた??

406デフォルトの名無しさん2020/12/14(月) 16:59:48.58ID:FxT1T5PM
https://twitter.com/shellshoccarjpn/status/1338173393993023488

> 己の未熟さを棚に上げ、シェルスクリプトを批判し、使いこなしを放棄し、
> 高級言語やミドルウェア、その他を乱用する。
> そのせいで複雑化して開発効率が落ちれば、また別の、
> 新たなそれらを導入する。愚かな。過度な依存の先に待っているのは破綻だ。

己の未熟さを棚に上げ、SQLを批判し、使いこなしを放棄し、
やってもないのにシェルスクリプトなら素直に書けるとウソを付く
https://twitter.com/5chan_nel (5ch newer account)

407デフォルトの名無しさん2020/12/14(月) 17:14:47.67ID:i9MTeufC
いつものPOSIXといいながら
シェルスクリプトのことしか言わず
シェルスクリプトと言いながらawkスクリプトを書く
頭のおかしい人

408デフォルトの名無しさん2020/12/14(月) 18:12:48.10ID:NqT1yJqt
どっちもめちゃくちゃ気持ち悪いんだけどナニコレ?

409デフォルトの名無しさん2020/12/14(月) 19:24:34.56ID:TKKte9WN
ミスかなんかやろ。
スルーで!

410デフォルトの名無しさん2020/12/14(月) 20:48:00.40ID:UmA4y/hI
>>409
POSIX原理主義とかいうマイナーな宗教(笑)関連者

上の方ででていたawkスクリプトによるUNIXタイム計算を書いた人
https://github.com/ShellShoccar-jpn/misc-tools/blob/master/utconv

シェルスクリプトでウェブアプリを作れるとかいう
ユニケージにも関係していると見られる
POSIX、POSIXうるさいが、自分たちの独自理論を使ったビジネスに
利用しているだけ。POSIXの威を借る狐状態

このビジネス(ユニケージ)の犠牲になったのが東急ハンズで
ユニケージは負債扱い。脱ケージ活動という言葉まで言われている

東急ハンズがシステム更新で炎上した事件は
このユニケージが影響してるのではないかと言われている

411デフォルトの名無しさん2020/12/14(月) 21:51:45.70ID:SM2t3qAq
別にPOSIX主義者を用語するつもりはないけど,
Twitterでの話題をこっちまで引っ張ってきてネチネチ呟いているのも大概だと思うぞ。

412デフォルトの名無しさん2020/12/14(月) 22:16:57.57ID:YJuK77cB

413デフォルトの名無しさん2020/12/14(月) 23:53:11.82ID:SM2t3qAq
>>408
同意。プログラムの本質に関係ない
人間関係のもつれはよそでやって欲しい

414デフォルトの名無しさん2020/12/15(火) 03:03:15.13ID:SKnt5XjU
そのプログラミングの本質がだめなんだよなw

POSIXは移植性を上げるための最低限の規則であって
それだけじゃ足りないし、開発効率を上げるためのものじゃない
POSIX準拠は問題ないが、POSIX準拠のコマンドだけを使うのは馬鹿げている

具体的には各種ライブラリを使っていいし使うべき
そのライブラリがPOSIX準拠(のC言語等)で作られているならなおさら
RubyやPythonだって結局はPOSIX準拠のものを使って作られてるんだろ?

415デフォルトの名無しさん2020/12/15(火) 05:17:35.02ID:vYGb7HVK
Ruby 以外でシステムを作ったら、まず保守できない

シェルスクリプトで、複雑なアプリを作っても、保守できない。
難しすぎるから

416デフォルトの名無しさん2020/12/15(火) 06:01:15.78ID:D2iK8tNh
>>407
awk だって posix だろ?何が問題なんだ?

417デフォルトの名無しさん2020/12/15(火) 09:32:48.24ID:ki4kCDkP
サイバー攻撃で使われるシェルスクリプトの高度化を観測
https://www.itmedia.co.jp/enterprise/spv/2012/14/news110.html

418デフォルトの名無しさん2020/12/15(火) 10:03:18.66ID:XwGFb1c9
>>415
保守性では、Rubyは底辺やろ。w
互換性を信用できないからな。

419デフォルトの名無しさん2020/12/15(火) 13:26:47.48ID:OZzZpMYk
>>416
awkがPOSIXかどうかなんて話はしてないよ
awkはシェルスクリプトじゃないって話でしょ

awkはpythonと同じように、シェルスクリプトから
実行するコマンドであってシェルスクリプトそのものではない

420デフォルトの名無しさん2020/12/15(火) 13:38:03.39ID:OZzZpMYk
>>417
ソースコードの隠蔽なら、Goとかを使ってバイナリにすれば
まずバレなんじゃね?と思ったが

ウイルス対策ソフトからすれば、バイナリを解析して怪しい挙動を
しないか解析するのに比べれば、シェルスクリプトは解析が簡単だなー
って思っていたのが、シェルスクリプトでも(バイナリと同じように)大変になった!
という意味の高度化なのかな

つまりバイナリに追いついたレベル

421デフォルトの名無しさん2020/12/15(火) 14:21:46.95ID:CQsY05jd
キテレツ「コロ助はゲイなの?」
コロ助「バイナリ!」

422デフォルトの名無しさん2020/12/15(火) 15:44:03.39ID:rO/izmGR
やっぱり頭悪すぎだなw
データの話なんか全くしてねーのにな

リッチー大佐の中の人 @col_richie ・ 3時間

この記事からの学びは、UNIX哲学にある「単純なテキストファイルにデータを格納せよ」の正しさだろう。
それを意図的に破れば、厄介なマルウェアが作れるし、システム開発における難解な仕様設計はマルウェアも同然。

巧妙化するシェルスクリプトの隠蔽手口について解説 - https://go.shr.lc/3ncGDTD

423デフォルトの名無しさん2020/12/15(火) 16:15:06.18ID:CQsY05jd
つまりユニケージ大正義というわけだな

424デフォルトの名無しさん2020/12/15(火) 16:44:33.64ID:rO/izmGR
ユニケージで作られたプロジェクトがオープンソースになってからいえ
完全にベンダーロックインになって交換不可能になっとるやないけ(笑)

425デフォルトの名無しさん2020/12/15(火) 17:40:49.18ID:QGBqsvyz
いまはオープンソースがどうたらの話はしてないでしょ。
つーか何回も言うけど非技術的な話は他所でやってくれ。

「これもぎじゅつのひとちゅだ!」みたいな下らねー反論はするなよ

426デフォルトの名無しさん2020/12/15(火) 19:08:25.42ID:+RD1gPFt
両方とも気持ち悪いけどそんな目くじらたてるようなことではないな

シェルスクリプトは抑制的に使わないと負債化しやすいっていう一般常識を
イデオロギー的に認められない人がネッツの隅っこでグチグチ言ってるだけ

427デフォルトの名無しさん2020/12/15(火) 19:31:19.44ID:QGBqsvyz
まあそうだけど,その隅っこに噛み付いて,
Twitterと無関係な5ちゃんねるまでわざわざ書き込むのは異常だと思うわ。

428デフォルトの名無しさん2020/12/15(火) 19:33:39.70ID:QGBqsvyz
POSIX中心主義に対する反論は,
私にはまっとうなものに見えるから,
それをTwitterで本人に対して言って議論すればいい。
それで仮に本人が自説を引っ込めなくても,Twitter上で議論が完結する。

「POSIX中心主義が正当かそうじゃないか」みたいな話はしてないんよ。
Twitterでの言説に対する鬱憤をここで晴らすな,っていう話をしてる。

429デフォルトの名無しさん2020/12/15(火) 19:46:25.56ID:XwGFb1c9
だから、スルーで!

430デフォルトの名無しさん2020/12/15(火) 21:02:10.05ID:65qlAZvS
ユニケージの話ならいいでしょ?
ギークが熱狂するしている開発手法らしいし(笑)

今、ユニケージ開発手法にギークが熱狂するワケ【USP研究所代表&オープンソースOSコミッター対談】
https://type.jp/et/feature/14070/

> 今では選りすぐった50個ほどのコマンドで大半の基幹システムを開発できるようになりました。
この50個のコマンドって?使い物になるの?
交換可能であることが重要だけど、他の誰か実装してるの?

431デフォルトの名無しさん2020/12/15(火) 21:04:27.64ID:65qlAZvS
ユニケージ、USP研究所、POSIX中心主義、シェルショッカー
だいたいこの4つで世界が完結してるよね

432デフォルトの名無しさん2020/12/16(水) 10:18:03.80ID:neT7lGyG
スルーで!

433デフォルトの名無しさん2020/12/16(水) 10:36:24.03ID:UH2BN/7n
東急ハンズ以外に採用実績あるのか?

434デフォルトの名無しさん2020/12/16(水) 10:58:21.91ID:dSP2gmll
JCL「みんなボクのこともう忘れたのだろうか?」

435デフォルトの名無しさん2020/12/16(水) 16:58:04.54ID:DM/Ohc5a
出力が見にくいので1つ1つの出力の行ごとに改行を入れたいです
今のところ
echo
で行だけを毎コマンドごとに挿入したり
sed "s/^/\n/g" hoge.txt
などをしています
もっと良い方法はないでしょうか?

436デフォルトの名無しさん2020/12/16(水) 17:20:08.78ID:l3Y0tbng
>>435
高階関数

437デフォルトの名無しさん2020/12/16(水) 17:44:47.68ID:UkMuMpFC

438デフォルトの名無しさん2020/12/16(水) 19:40:15.12ID:neT7lGyG
>>437
すげえ発想。
でも実際,質問者のやりたいことはこれかも知れない。
別に「行を挿入する」ことが重要なんじゃなくて
「行を見易くする」ことが目的なんだかね。

439デフォルトの名無しさん2020/12/16(水) 19:40:29.05ID:neT7lGyG
s/なんだかね/なんだからね/

440デフォルトの名無しさん2020/12/16(水) 19:57:20.32ID:HoimPx00
>>439
s/,/、/

441デフォルトの名無しさん2020/12/16(水) 21:23:57.52ID:neT7lGyG
>>440
君数学の日本語論文読んだことないでしょ。
全部とは言わないがほとんど「,」だぞ?

442デフォルトの名無しさん2020/12/16(水) 21:36:02.59ID:d5iRAuOV
数学の前に小学生レベルの日本語読解力を身につけろよww

443デフォルトの名無しさん2020/12/16(水) 21:44:16.10ID:q21a8ByJ
確かに日本の出版物では横組みのときは読点を「,」にするルールがあったりなかったり。
さらに句点を「.」にするルールがあったりなかったり。
科学・技術系で多いような気がしたりしなかったり。

444デフォルトの名無しさん2020/12/16(水) 22:21:59.48ID:neT7lGyG
どうも図星だったようだ。

445デフォルトの名無しさん2020/12/16(水) 22:42:03.74ID:UkMuMpFC
>>441
それは古いルールで現実に即してないから変更になる
もう使うのはやめよう

公文書の読点「,」から「、」に 半世紀以上前の通知変更へ
https://news.yahoo.co.jp/articles/88039fa6aabfa1f719af747607119694998f9eaa
>  文化審議会の国語課題小委員会は30日、半世紀以上前の通知に従い、
> 公文書では読点に「,」(コンマ)を使うとのルールを見直し、
> 一般に広く使われている「、」(テン)を用いるよう求める中間報告案をまとめた。

> ただ、現在は多くの省庁がテンを使っており、文化庁は要領改定を検討してきた。

446デフォルトの名無しさん2020/12/16(水) 22:52:46.52ID:BIGMoezD
そんなどうでもいいことよりも
質問の文章を理解してネタレスかどうかくらい区別できるようになってよ

447デフォルトの名無しさん2020/12/16(水) 22:53:19.28ID:2c+prgNQ
レタスに空目した

448デフォルトの名無しさん2020/12/17(木) 01:04:10.43ID:uhJoMPOw
>>445
あの…、政府がどうとかじゃなくて
数学界の話なんですが…

449デフォルトの名無しさん2020/12/17(木) 02:02:06.79ID:3+5sK+CV
数学界でもその指標に従ってるだけのこと
テンを使うところは数式じゃなくて日本語だろうが

450デフォルトの名無しさん2020/12/17(木) 08:34:20.87ID:cCB/c6/C
>>437
ありがとうございます
できました
>>436
これも調べてみます

451デフォルトの名無しさん2020/12/17(木) 08:49:25.49ID:uhJoMPOw
>>445
それを読むと読点はもともと「。」だったみたいだね。
そして >>443 も指摘していた通り
科学・技術界隈では句点を「.」にすることが多いんだよ。
つまり >>445>>441 の反論になっていないということ

452デフォルトの名無しさん2020/12/17(木) 09:43:24.89ID:cCB/c6/C
Androidでシェルをやってます
コメントアウト
<< comment_out
コメントアウトしてます
comment_out
をすると
can't create temporary file /data/local/shuv2gty.tm
p: Permission denied
と表示されてしまいます
このエラーを非表示にする、またはパーミッションを得るにはどうしたらいいですか?
他のアプリが使えなくなるのでスマホ自体のroot化はできません

453デフォルトの名無しさん2020/12/17(木) 10:25:22.20ID:RUflbAwb
パーミッションをゲットしようとすんな!w

そうか、そんな発想もあんのか。新鮮。

454デフォルトの名無しさん2020/12/17(木) 12:21:57.92ID:hWtMYtoG
>>452
TMPDIRが/data/local/tmpなら書き込めると思うけど
Androidのスレで聞いたほうがいいんじゃないかな

455デフォルトの名無しさん2020/12/17(木) 16:54:16.36ID:nC3KtugT
漏れは、Windows 10, WSL, Ubuntu 18.04 で、
VSCode の拡張機能、Remote WSL も使う

Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた

apt のRuby, Nodejs は、バージョンが古いから入れていない

which ruby
~/.anyenv/envs/rbenv/shims/ruby

which node
~/.anyenv/envs/nodenv/shims/node

こういうテスト環境に、#!/usr/bin/env ruby
を使う。
本番環境では、使わない方が良い

456デフォルトの名無しさん2020/12/17(木) 19:08:56.70ID:SmI4i4iQ
>>451
> 科学・技術界隈では句点を「.」にすることが多いんだよ。
変なルールは時代の合わせて変えていくべきだねって話なのわかってないの?

457デフォルトの名無しさん2020/12/17(木) 19:12:33.49ID:SmI4i4iQ
これも面白い話だね

https://crd.ndl.go.jp/reference/modules/d3ndlcrdentry/index.php?page=ref_view&;id=1000155681

質問 技術文書で読点が「,」(カンマ)で句点が「.」(ピリオド)になっているものが多い。使われている根拠は何か。

回答 昭和25年(1950年)9月発行の文部省編『文部省刊行物表記の基準』付録「横書きの場合の書き方」では、
横書きでの句点は「。」を用い、読点は「,」を用いるという記述があり、現物を利用者に見ていただいた。
吹田所蔵の資料を取り寄せたが、根拠となるものを見つけることはできなかった。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ただ、資料によっては技術文書は欧字や数字、数式が含まれていることが多いので「,」(カンマ)「.」(ピリオド)を推奨するという記述があるものもあった。
インターネットのホームページで論文の原稿執筆に「,」(カンマ)「.」(ピリオド)を
用いるとしているものもあったが、根拠は見つけられなかった。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

根拠はない。全角半角という違いが有る、今の時代からすれば悪習だろう

458デフォルトの名無しさん2020/12/17(木) 22:02:17.91ID:uhJoMPOw
そんなに細かいところをネチネチ気にしてる癖に
スレの趣旨と違うことを話していることには気が付かない滑稽さたるや

459デフォルトの名無しさん2020/12/17(木) 22:15:22.97ID:fG6L+nO9
>>440
わかったか?

440 名前:デフォルトの名無しさん[] 投稿日:2020/12/16(水) 19:57:20.32 ID:HoimPx00
>>439
s/,/、/

460デフォルトの名無しさん2020/12/17(木) 22:16:57.75ID:fG6L+nO9
>>433
> 東急ハンズ以外に採用実績あるのか?

怪しい健康食品販売みたいな感じで
知り合いの紹介とかで、洗脳される人が広がってそうw

461デフォルトの名無しさん2020/12/18(金) 01:38:23.82ID:7u2Vzz2h
>>459
文章にだってTPOはある

>>440のように訂正したからといって論文読んだことないと判断するのは軽率

462デフォルトの名無しさん2020/12/18(金) 02:07:12.94ID:UPU6Cu+L
>>430
> 10万円以下で買ってきたごく普通のパソコンを10台並べ100GbpsのInfiniBandで

パソコンが10万以下でもInfiniBandのボードは10万では到底買えないし、スイッチは200万くらいする。
あまり誠実な記事とは言えないんじゃないかな。

463デフォルトの名無しさん2020/12/18(金) 02:21:59.73ID:QbIWQAJb
>>440は最初の一個だけ変えて何をしたいのだろう

464デフォルトの名無しさん2020/12/18(金) 02:28:04.80ID:7u2Vzz2h
>>463
一個しかないからだろ

465デフォルトの名無しさん2020/12/18(金) 02:29:13.88ID:rsH2sWAC
と、思うが、対象に一つしかないからな
同じように思ったが

466デフォルトの名無しさん2020/12/18(金) 02:57:36.24ID:QbIWQAJb
>>439には一個も見当たらないのだが、老眼なのかなあ

467デフォルトの名無しさん2020/12/18(金) 08:25:11.29ID:VUzElQyV

468デフォルトの名無しさん2020/12/18(金) 09:06:02.98ID:6d+2LpF4
てか、読点くらい人の好みじゃね?
そんなつっかかって何がしたいんだ?

469デフォルトの名無しさん2020/12/18(金) 10:20:09.21ID:En6upNha
よく分からんが突っ掛かったのは>>441じゃないのか

470デフォルトの名無しさん2020/12/18(金) 12:18:59.83ID:AR9d62Oq
どうでもいいやり取りに執着してまともに質問に答えるやつが一人もいないという状況

471デフォルトの名無しさん2020/12/18(金) 17:54:55.01ID:rouJXYD5
おまえの周りの慣習にあわせろ、おわり

472デフォルトの名無しさん2020/12/18(金) 18:25:36.76ID:Vk4i6Xf9
じゃなくてTPOで選べな。いつも同じやり方でやるとかうざいだけだから。

473デフォルトの名無しさん2020/12/18(金) 18:27:48.77ID:68hAcw/t
俺の気に入るようにやれ
それだけだ

474デフォルトの名無しさん2020/12/18(金) 19:08:55.42ID:4UaQE5Dn
時は来た
それだけだ

475デフォルトの名無しさん2020/12/18(金) 21:51:55.66ID:VUzElQyV
じゃあTPOを弁えて「,」を使うのは旧時代的!
なんていうくっだらねえ主張展開するなよw

476デフォルトの名無しさん2020/12/18(金) 22:50:33.45ID:4UaQE5Dn
それは時勢を捉えてる、つまりT。

477デフォルトの名無しさん2020/12/18(金) 23:21:48.08ID:VUzElQyV
まさかTPOのTを「時勢を捉える」の「時間」だと思ってらっしゃる御仁がいるとは

478デフォルトの名無しさん2020/12/19(土) 00:07:16.80ID:x1EY5aRu
timeは多義語だしな。
時は来た

The time has come
悪癖を脱する時勢<とき>なのだ!

479デフォルトの名無しさん2020/12/19(土) 01:19:53.43ID:eg1uqMNx
問題は時間じゃなくて場所だろ
5ちゃんねるで一般的じゃない「,」を使うなと
言ってるんだよ。ダサすぎ。
国会で5ちゃんねる用語を使うようなもんだ

480デフォルトの名無しさん2020/12/19(土) 10:13:41.86ID:Qqq4Ct+Y
どんだけ学者界隈にコンプ抱えてるんだよw

481デフォルトの名無しさん2020/12/19(土) 10:34:47.28ID:RW00uZdG
TPOの観点で言うと、ほとんどの人がどっちでもいいと思っている事を目ざとく取り上げしつこく指摘し続けるのを、こういう場では古来から自治厨って言うんですよ

482デフォルトの名無しさん2020/12/19(土) 10:58:47.94ID:v72QMDou
お前ら今日も仲いいな(´・ω・`)

483デフォルトの名無しさん2020/12/19(土) 12:20:31.50ID:8pL4C7Je
>>481
自治は違うだろ
そのスレのルールに従わせるのが自治だ
ルール化されてない話は自治とは関係ない

484デフォルトの名無しさん2020/12/19(土) 12:24:22.26ID:RW00uZdG
>>483
ルール化されてない話すらしてるから自治じゃなくて自治"厨"なのよ

485デフォルトの名無しさん2020/12/19(土) 13:45:37.20ID:AEN4FO15
スレの自治厨じゃなくて、日本語の自治厨やな。w

486デフォルトの名無しさん2020/12/19(土) 15:31:53.90ID:Qqq4Ct+Y
どうでもいいけどそれこそ「日本語の句読点は、と。しか認めない!」ってほうが
よほど〝旧時代的〟だと思うよ。
あと「日本語の自治厨」とはよくいったもので,
仮に「,」を使うことが "TPOを弁えてない" としても
それをネチネチ指摘することもまた同様ってことね。

487デフォルトの名無しさん2020/12/19(土) 16:22:44.35ID:eg1uqMNx
認める認めないじゃなくて
日本語を書く時(手書き)につかうのは「、」と「。」だという話
そして「,」と「.」は英文で使うものなので半角にするべき
正しく使い分けよう

488デフォルトの名無しさん2020/12/19(土) 17:13:53.53ID:Qqq4Ct+Y
いつまでスレチな話題を続けるんだ?
「TPOを弁え」ろよw

489デフォルトの名無しさん2020/12/19(土) 19:27:09.85ID:addgFCLw
べ・・・弁える

490デフォルトの名無しさん2020/12/19(土) 21:05:29.14ID:zAS7mKLT














491【B:81 W:61 H:84 (D cup) 159 cm age:47】 2020/12/19(土) 21:26:00.07ID:HfjhvcKv
>>490

 ( ゚∀゚)
 (  ∩ミ  ほーら
  |  ω |
  し ⌒J

492デフォルトの名無しさん2020/12/20(日) 15:17:19.00ID:h+k5X02K
bashのreadコマンドの-uってどうやって使えばいいの?
echo "test" >&2 | read -u 2 line ってやっても取れないんだけど

493デフォルトの名無しさん2020/12/20(日) 15:48:48.55ID:DYia7imO
そもそも
$ echo "test" | read line
でも取れないよそれ

494デフォルトの名無しさん2020/12/20(日) 16:05:29.60ID:S/m7KSRx
取れてるけど?

echo "test" | { read line; echo "[$line]"; }
[test]

495デフォルトの名無しさん2020/12/20(日) 16:08:18.25ID:S/m7KSRx
やっぱり取れますねぇ

shopt -s lastpipe
echo "test" | read line
echo "[$line]"

[test]

496デフォルトの名無しさん2020/12/20(日) 16:19:43.98ID:DYia7imO
>>495
お,ほんと?
>>492
じゃあこれ↑お願いします。

497デフォルトの名無しさん2020/12/20(日) 16:20:54.38ID:S/m7KSRx
>>496
だから取れないんだろ?

俺は>>492に対してレスはしてなくて
お前の間違った回答にレスしてるだけ

498デフォルトの名無しさん2020/12/20(日) 16:32:40.97ID:DYia7imO
>>497
ああそうなの。わざわざどうも
元の解答にも答えてあげてね。

499デフォルトの名無しさん2020/12/20(日) 16:57:04.83ID:S/m7KSRx
答えても何も知らんしw

500デフォルトの名無しさん2020/12/20(日) 17:25:33.58ID:367My7+8
>>492
| をそもそも勘違いしてるようだけど、stdoutをstdinに繋げるだけだぞ
stderrはそんなことしても対象外だし、stderrを読もうとするのがアレだが、
それでもreadプロセスでのstderr(tty)から読もうとして読めてるだろう。-u 使えてるじゃん?w

501デフォルトの名無しさん2020/12/20(日) 18:00:46.78ID:4dBK3uKK
-u 2 はそうかも知れないけど -u 3 は読めないじゃん?
-u ってどうやって使うの?

echo "test" >&3 | { read -u 3 line; echo "[$line]"; } は動かなかった

502デフォルトの名無しさん2020/12/20(日) 18:41:24.28ID:367My7+8
3 ってなんなのかわかってないだろ

503デフォルトの名無しさん2020/12/20(日) 18:49:04.14ID:4dBK3uKK
わかってるなら説明してください
ただ煽りたいだけのやつは不要です

504デフォルトの名無しさん2020/12/20(日) 18:52:01.01ID:dy8ouxo/
なんでいきなり 3 やねん。どういう発想からなんだかだぞ
3 に適切に(自分で)割り当てれば、>>501で動くぞ

505デフォルトの名無しさん2020/12/20(日) 18:56:07.95ID:4dBK3uKK
その動くコードを書いてくださいね

506デフォルトの名無しさん2020/12/20(日) 18:59:16.05ID:1LcS4Wc6
回答者のやる気削ぐ天才かw

507デフォルトの名無しさん2020/12/20(日) 19:00:06.08ID:4dBK3uKK
回答してるだけで自分が偉いと勘違いしてるアホが多いからねw

508デフォルトの名無しさん2020/12/20(日) 19:01:05.79ID:dy8ouxo/
天然バカか。天然でなく真性か

509デフォルトの名無しさん2020/12/20(日) 19:04:23.55ID:4dBK3uKK
その動くコードを書いてくださいね。と言っただけなのになw

510デフォルトの名無しさん2020/12/20(日) 19:05:16.77ID:dy8ouxo/
書いてやるけど、その前になんで 3 にしたのか言ってみ

511デフォルトの名無しさん2020/12/20(日) 19:06:33.09ID:1hvzvG6m
> echo "test" >&3
誰が3をオープンしてんだよ
これで分らんなら基礎からやり直せ

512デフォルトの名無しさん2020/12/20(日) 19:07:08.67ID:4dBK3uKK
>>510
2の次だから

513デフォルトの名無しさん2020/12/20(日) 19:07:24.21ID:4dBK3uKK
>>551
だから動くコードを書けと

514デフォルトの名無しさん2020/12/20(日) 19:10:57.93ID:dy8ouxo/
>>512
www
まあ、素直でよろしいw

mkfifo /tmp/hoge
exec 3<> /tmp/hoge
echo "test" >&3 | { read -u 3 line; echo "[$line]"; }

とか(後処理とか自分で書け)

515デフォルトの名無しさん2020/12/20(日) 19:13:39.64ID:4dBK3uKK
>>514
それパイプの意味ないですね

mkfifo /tmp/hoge
exec 3<> /tmp/hoge
echo "test" >&3
{ read -u 3 line; echo "[$line]"; }

ファイルを経由してる時点で論外だし
趣旨わかってますか?

516デフォルトの名無しさん2020/12/20(日) 19:14:55.85ID:dy8ouxo/
何言い出してるんだか。FIFOもわかってないようだな
やっぱ真性バカか

517デフォルトの名無しさん2020/12/20(日) 19:21:32.30ID:dy8ouxo/
繰り返すが、
| をそもそも勘違いしてるようだけど、stdoutをstdinに繋げるだけだぞ
パイプの意味wが重要ならstdoutの出力するのが筋。そもそもそれを避けてるのにパイプの意味wもなんもないだろう

どうしてもパイプの意味wがなんだったら、stdoutとstderrを入れ替えて最後にstdoutとstderrを入れ替えるとかあったなあ
クソ小生意気wなだけの真性バカには詳しくは教えない、上述のはググればあるだろうと親切にw教えておしまい

518デフォルトの名無しさん2020/12/20(日) 19:22:22.03ID:fhH0jCnn
質問を装った荒らし相手にするな

519デフォルトの名無しさん2020/12/20(日) 19:23:42.53ID:dy8ouxo/
おしまいだってw

520デフォルトの名無しさん2020/12/20(日) 19:26:15.86ID:4dBK3uKK
>>519
どういう意味?

521デフォルトの名無しさん2020/12/20(日) 22:58:21.02ID:sATZ12bN
>>511
それで3のfdが新たに作られてと思ってそうだなw

522デフォルトの名無しさん2020/12/20(日) 23:09:20.92ID:DUrk52X1
ちょっと煽るだけで答えが出てくるんだから宿題捗るわ~

523デフォルトの名無しさん2020/12/20(日) 23:23:43.13ID:fUCc7ZHX
自称透視能力者
煽るだけで答えをもらえると思ってるやつと変わらない性格なんだろな
いやそのままそう思ってるようなので全く同じ性格か

524デフォルトの名無しさん2020/12/21(月) 10:43:32.58ID:wOEzG6ti
ts

525デフォルトの名無しさん2020/12/21(月) 23:52:40.26ID:FKxVslQ1
みんな参加しないの?

POSIX原理主義/POSIX中心主義プログラミング Advent Calendar 2020
https://adventar.org/calendars/5758


POSIX原理主義 Advent Calendar 2016
https://adventar.org/calendars/1787
4年前は参加者いたのに

526デフォルトの名無しさん2020/12/22(火) 00:19:10.33ID:hq0fof4K
>>525
参加してきました。
よろしくお願いします。

527デフォルトの名無しさん2020/12/22(火) 00:37:57.90ID:7N4VeP0i
POSIX原理主義も企画倒れネタだったなぁと(苦笑)

528【B:96 W:69 H:107 (E cup) 149 cm age:25】 2020/12/22(火) 00:50:32.21ID:reQ7ztpU
全部awkで書けばいいんだろ?簡単じゃんw

529デフォルトの名無しさん2020/12/22(火) 01:34:57.89ID:GwBzbeZ5
ワロタw 微妙にディスってるだろwww

> 「2017年、POSIX原理主義は世界に進出する」
> リッチー大佐氏はそう仰いました。
>
> 同年、POSIX原理主義ならびに
> POSIX中心主義プログラミングについての
> 査読付き論文が公開されました。
>
> それ以降、
> 便りがほぼ皆無に近い状態となってしまっているように
> 感じられます。
> それどころか、世界進出も実感が湧かなく感じられます。
>
> POSIX原理主義ないしPOSIX中心主義プログラミングは
> 成熟をしきってしまったのでしょうか?
> それとも、まだ、成長をする余地があるのですか?
> そして、その存在は忘れ去られていませんか?

530デフォルトの名無しさん2020/12/22(火) 15:49:43.65ID:kndpEK+0
まあPOSIX中心主義を擁護する訳じゃないけど、
POSIXに従えるときは従っといた方がいいね。

531デフォルトの名無しさん2020/12/24(木) 07:33:18.96ID:o5oUfmlb
POSIX中心主義とかいう考え方が実用的じゃないんだよね
POSIXの問題じゃなくて、どこぞの素人が考えた「中心主義」が実用的じゃないという話

あれ、結局ライブラリを使わずに全部自分で実装しろってやつだから
生産性が悪すぎる

532デフォルトの名無しさん2020/12/24(木) 11:06:07.93ID:QjnK2nrq
まあ従えるときにはって話

533デフォルトの名無しさん2020/12/24(木) 11:11:31.50ID:KLhNBo44
C言語が使ってOKなら、RubyやPythonもPOSIXに準拠して作られてるんだから
POSIX中心主義的には使ってOKになるはずなんだがなぁw

実装が複数ないといけないっていうのならPythonは無理でも
RubyはJRubyとかあるし、Javaも使ってOKなはず

534デフォルトの名無しさん2020/12/24(木) 11:12:19.47ID:KLhNBo44
つまり言いたいことは、思想がそもそも矛盾してるよね

535デフォルトの名無しさん2020/12/24(木) 12:02:57.49ID:5YZuSfe/
完全に標準規格のCを使った実用アプリなんか存在せんやろ。w
UNIXでもLinuxでもWindowsでも、どこかで非標準関数を使わざるを得ないことになりがち。

536デフォルトの名無しさん2020/12/24(木) 12:29:11.54ID:2kt6bLry
仮にRubyやPythonがPOSIXに準拠してようが、
RubyもPythonもPOSIXに含まれないので使ってはダメです

537デフォルトの名無しさん2020/12/24(木) 12:31:16.73ID:KLhNBo44
>>535
C言語のレベルでPOSIXだけでは作れないものが
あるなら、それはPOSIX中心主義の敗北なんだよな

POSIX準拠ではどうあっても動かないので
POSIX中心主義のかかげる「20年後も動く」は
「現時点ですでに動かない」ということになる

538デフォルトの名無しさん2020/12/24(木) 12:33:02.74ID:KLhNBo44
>>536
その理屈だとPOSIX準拠のC言語で作った「オレオレコマンド」は
POSIXに含まれてないので使ってはだめということになる(笑)
もちろんユニケージ用に作られた専用コマンドもPOSIXに含まれてないし
シェルショッカーが作ったオレオレコマンドもPOSIXに含まれていない

539デフォルトの名無しさん2020/12/24(木) 12:36:29.80ID:2kt6bLry
そうだけど?だから何?
POSIX舐めてんの?

540デフォルトの名無しさん2020/12/24(木) 12:37:22.89ID:KLhNBo44
舐めてるのは「POSIX中心主義」だよw
POSIXの名を語った偽物

541デフォルトの名無しさん2020/12/24(木) 12:55:26.21ID:5YZuSfe/
>>537
なんかおかしい。
POSIXは、システムやツールがどのように作成されているかは規定してないやろ。

最悪、魔法でもいいのではないか?w

542デフォルトの名無しさん2020/12/24(木) 13:09:28.68ID:QjnK2nrq
なんかPOSIX中心主義も変だとは思うけど
それ以上にその反対勢力が気持ち悪い。

543デフォルトの名無しさん2020/12/24(木) 13:14:46.31ID:5ieJIppX
>>542
これ

544デフォルトの名無しさん2020/12/24(木) 13:29:48.24ID:+GBnc4yf
POSIXってネットワーク系は何も規定してないじゃん
規定のあるところは従おうねってだけの話なのに「POSIX中心主義」とか大げさなんだよw

545デフォルトの名無しさん2020/12/24(木) 13:44:57.75ID:KLhNBo44
>>544
「POSIX準拠+交換可能性担保+W3C勧告準拠」が「POSIX中心主義」らしいw

> 交換可能性担保
> 上記の指針では実現の難しい機能、あるいは全く不可能な機能を実現しなければならない場合は、
> POSIX規格にない依存ソフトウェアを使用せざるを得ない。
> しかし、無制限に認めてしまえば保守や移植のコストは増大してしまう。
> そこで、使用する場合には次の性質を満たすことという例外条件が2番目の指針である。

> 今利用している依存ソフトウェア(A)と同等機能を有する別の実装(B)が存在し,
> 何らかの事情によりAが使えなくなったときでも,Bに交換することで
> Aを利用していたソフトウェアを継続して使える性質


この交換可能性担保が特に破綻してる

Rubyの実装としてJRubyがあるのだから、交換可能性担保を満たしている
ユニケージのライブラリと同等機能を有する別の実装は存在しないのだから、交換可能性担保を満たしていない
(Open usp Tukubaiは利用度の高いものだけ)

546デフォルトの名無しさん2020/12/24(木) 13:46:19.34ID:KLhNBo44
>>541
「POSIX」は、システムやツールがどのように作成されているかは規定してないのに
「POSIX中心主義」は交換可能性担していなければいけないとか別の規定を加えてる

547デフォルトの名無しさん2020/12/24(木) 14:06:22.21ID:KLhNBo44
curlとwgetのどちらでも動くようにしろ、そのために共通で持ってる機能だけを使えと書いてあるが、
wgetではPUTやDELETEなどに対応しておらず、機能が低い方に引きずられる
また必要もないのに両対応にするのは過剰設計でしかなくYAGNIの原則にも反している

シェルスクリプトの中でgitを使ってるとして、gitと同等の機能を有する別の実装とは何なのか?
その別の実装はgitリポジトリにアクセスできるのか?
そういう話

548デフォルトの名無しさん2020/12/24(木) 18:00:42.97ID:QjnK2nrq
Mercurialでは?

549デフォルトの名無しさん2020/12/24(木) 18:33:51.50ID:MGQS4hov
POSIX中心主義によるとgitはPOSIX準拠ではないので使ってはだめだが
例外条件が有るので、Mercurialのgitプラグインをつかって
gitでもhgでも交換可能で動くようにすればOK

gitを使うスクリプトは両方のコマンドで共通で使える機能だけを使い
hgでも動くようにしするのがPOSIX中心主義

最大公約数的な機能しか実現できずMercurialなんて使わないのに
両対応のためにコードが複雑化し開発工数が
上がるのがPOSIX中心主義である

現実的じゃない理由

550デフォルトの名無しさん2020/12/24(木) 19:39:56.60ID:QjnK2nrq
なんというか,「反POSIX中心主義」もそれもそれで
頭の固い連中だなと思うなど。

551デフォルトの名無しさん2020/12/24(木) 19:54:44.78ID:MGQS4hov
>>550
それは「POSIX中心主義」という技術の話ですか?
それとも単に人の話をしてるだけですか?
私は技術の話をしています。

552デフォルトの名無しさん2020/12/24(木) 22:03:18.07ID:Fir/sAH4
聞かれてもいないのに自分の主張ばかり書き込むのが流行ってますね

553デフォルトの名無しさん2020/12/24(木) 22:05:17.56ID:MGQS4hov
なにか問題なの?
総合スレの内容として適切だと思うけど?

554デフォルトの名無しさん2020/12/24(木) 22:12:45.41ID:QjnK2nrq
(そういうところなんだよな……)

555デフォルトの名無しさん2020/12/24(木) 22:44:46.84ID:5YZuSfe/
ま、こないだはポジバカがうるさかったからな。
カウンターみたいなもんやろ。
しゃあない。

556デフォルトの名無しさん2020/12/24(木) 23:13:14.78ID:MGQS4hov
>>555
だから「POSIX準拠」と「POSIX中心主義」は全くの別物なんだって

557デフォルトの名無しさん2020/12/25(金) 08:54:47.64ID:WWGB0Om3
クソの役にも立たない言い訳はいいからシェルスクリプトの話題出せや
あくしろよクズ

558デフォルトの名無しさん2020/12/25(金) 09:37:45.95ID:lUAVm7Fr
{x}<"$x" _=${x=<(echo moo)} <&0$(cat <&"$x" >&2)

559デフォルトの名無しさん2020/12/25(金) 12:45:23.06ID:VmiYGpd6
>>558
what is it?

560デフォルトの名無しさん2020/12/25(金) 12:58:49.29ID:HEI7zSvg
>>557
「POSIX中心主義」はシェルスクリプトの話題なんだが?

561デフォルトの名無しさん2020/12/25(金) 19:01:39.76ID:VmiYGpd6

562デフォルトの名無しさん2020/12/25(金) 19:24:27.58ID:Rv3U506l
>>561
それはシェルスクリプトの話題かね?

563デフォルトの名無しさん2020/12/25(金) 19:39:35.11ID:VmiYGpd6
>>562
「POSIX中心主義の話題」が「シェルスクリプトの話題」
なのであれば当然>>542も「シェルスクリプトの話題」ですね。

564デフォルトの名無しさん2020/12/25(金) 19:49:51.04ID:Rv3U506l
「反対勢力が気持ち悪い」は勢力の話なのでシェルスクリプトの話ではありません。
「POSIX中心主義」と反対の技術の話はシェルスクリプトの話ですがね。

565デフォルトの名無しさん2020/12/25(金) 20:51:49.39ID:YbAqFMwb
しつけえ
POSIX中心主義とやらとの対話にもなってないのになんでこんなにしつこいのか

566デフォルトの名無しさん2020/12/25(金) 21:15:41.10ID:Rv3U506l
だからPOSIX中心主義の問題点の話をしましょうよw

567デフォルトの名無しさん2020/12/25(金) 21:35:42.46ID:YbAqFMwb
誰も興味ないのは明らかだろう
ポジキチさえも食いついてないみたいだしな
お前というのには興味はちょっとあるみたいだが、お前はそれを拒否してるしw

568デフォルトの名無しさん2020/12/25(金) 21:40:34.71ID:FtEIxKGr
基地外かよwww

569デフォルトの名無しさん2020/12/25(金) 22:25:13.08ID:wHWhOTCT
sedでスラッシュを含む文字列を置換する際に別のセパレーターを使うと思うけど、どの文字を使ったほうがいいとかおすすめってある?

570デフォルトの名無しさん2020/12/25(金) 22:31:49.34ID:iWGmuKlq
重ならない文字

571デフォルトの名無しさん2020/12/25(金) 22:56:34.63ID:VmiYGpd6
逆斜線を前置すれば別にどんな文字を使ってもいいんだけどね、実は。
まあ印象としては/と|が多く使われてている印象。
Gentoo Linuxを使ってるんだけど,パッケージのコンパイルの時に
流れていくスクリプトを見ていると
sed -e 's/.../.../'かsed -e 's|...|...|'が多い「気がする」。

572デフォルトの名無しさん2020/12/25(金) 23:21:27.19ID:DE1iEGh9
「|」を使ったものの、正規表現で選択を追加したくなって、区切り文字を変えることもある。
「!」に変えたら(「|」に似てるからw)、先読み否定アサーションを追加したくなって、さらに変えるはめに。
「%」に変えた(「/」に似てるからw)ものの、そのままcrontab(たしか)に書いた結果、エラーになることもある。

結局、「/」のままがもっともマシな気がしてきている今日このごろ。。。

573デフォルトの名無しさん2020/12/26(土) 00:42:46.54ID:KCd7SMlY
@マークとかも見た覚えがある。
繰り返すけど結局逆斜線でエスケープすればいいだけなので何使っても……って感じ。

574デフォルトの名無しさん2020/12/27(日) 01:32:14.14ID:MZd1eqSW
あまり使われない記号としては#とか@かな

575デフォルトの名無しさん2020/12/27(日) 01:37:53.93ID:RkRq3Z+d
<もあまり使わないぞ!

576デフォルトの名無しさん2020/12/27(日) 02:31:09.59ID:NaLm9w9P
: とかどう?

577デフォルトの名無しさん2020/12/27(日) 05:20:13.65ID:3wE25Ze9
斜めつまようじ症候群というやつだな。

うわ、あの本がもう手元になかったw 最近ほとんど使ってないしな。

英語のWikipediaを見ると{}とか##とか!!とかの例が書いてある。

578デフォルトの名無しさん2020/12/27(日) 05:58:05.59ID:RkRq3Z+d
つまようじ大好き症候群だろ
誰だよ変な訳にしたの、とほほか

579デフォルトの名無しさん2020/12/27(日) 07:02:29.22ID:3wE25Ze9
ああそうだっけか。まあ leaning toothpick syndrome だから間違いではないが
やはり公式日本語本が聖典といえるw

どこ行っちゃんただろう、俺のラクダ本。
最近はスクリプトを書く場合はだいたいpython、たまにshって感じだからなあ...

580デフォルトの名無しさん2020/12/27(日) 12:45:17.76ID:gKaJCZHp
公式日本語本ってナニ?

581デフォルトの名無しさん2020/12/27(日) 13:07:21.46ID:CEWAcbKQ
らくだじゃないの?

582デフォルトの名無しさん2020/12/27(日) 13:08:33.03ID:RkRq3Z+d
例のタイトルを覚えてもらえないシリーズ

583デフォルトの名無しさん2020/12/27(日) 19:57:57.32ID:NaLm9w9P
つまようじ大好き症候群っていうのか、おもしろいな

584デフォルトの名無しさん2020/12/27(日) 20:41:56.75ID:OKKHmb6b
普通に斜線シンドロームとか斜線病で良くね
syndromeは症候群て訳されるけど症候群は違う感じする

585デフォルトの名無しさん2020/12/27(日) 21:04:38.86ID:RkRq3Z+d
ダブルミーニングな気がするが傾きと偏愛の2つの意味がある
https://eow.alc.co.jp/search?q=leaning
> 〔垂直な位置からの〕傾き、傾斜◆【動】lean
> 〔~を好む〕傾向

https://ejje.weblio.jp/content/leaning
> 傾向,性癖; 好み,偏愛 〔to,toward〕.

だが公式につまようじ大好き症候群って書いてるんだから
こっちでいいやろ。斜めつまようじとか意味わからんし。

586デフォルトの名無しさん2020/12/27(日) 21:32:19.92ID:CEWAcbKQ
「leaning」を訳出してるだけなのに、意味わからんとか意味わからん。

587デフォルトの名無しさん2020/12/27(日) 21:58:06.67ID:RkRq3Z+d
>>586
「star」には「星」という意味と「人気者」という意味がある

「star]を訳出してるだけ、スターウオーズは「人気者戦争」だ
と言われても、訳がおかしい、意味わからんとしか言いようがないのと一緒

588デフォルトの名無しさん2020/12/27(日) 22:45:00.74ID:gKaJCZHp
雑な相対化が好きね

589デフォルトの名無しさん2020/12/27(日) 22:58:34.68ID:CEWAcbKQ
>>587
じゃあ「リーニングツースピックシンドローム」って言えよ。w

590デフォルトの名無しさん2020/12/27(日) 23:25:45.11ID:vxCvKtMx
>>584
m/ftp:\/\/[^\/]*\/pub\//
をぱっとみ \ を含めて leaning toothpick が多すぎ=単に見た目な感じだけでじゃね
そんな厳密な病気的な意味でなく、なんらかの変わったように見える(もしくは少々異常に見える)状態行動を言うときもあるだろう
「病」と言う場合もあるがどちらかというと揶揄したり真っ向から否定する場合じゃね

591デフォルトの名無しさん2020/12/27(日) 23:40:37.60ID:vxCvKtMx
難読化を促進してるのは主に \ のせいだし、
/ と \ しかとりあえずその言葉の対象(原因?)でしかないので、斜めつまようじシンドローム の方が合ってるような気がするな。日本語の語感としては変だと思うけどw

592デフォルトの名無しさん2020/12/28(月) 00:05:57.90ID:va1o1QcS
>>584
>斜線シンドローム
ってレス内にあったのか。俺はそれに+1

593デフォルトの名無しさん2020/12/28(月) 00:14:20.28ID:X0zJWoaM
(これはネタ)
傾楊子病とかすると古来からの病気っぽくなるw

594デフォルトの名無しさん2020/12/28(月) 00:45:49.42ID:pErUmn8e
尖圭コンジローマ

595デフォルトの名無しさん2020/12/28(月) 01:13:38.32ID:AD+30T3D
>>592
じゃあ、オレは-1。
原文の小ネタのじゃれた気持ちが出ていない。

596デフォルトの名無しさん2020/12/28(月) 01:26:30.61ID:5RAzyW5q
その点インテル入ってるってすげーよな
intel insideと逆サイドで韻踏み

597デフォルトの名無しさん2020/12/28(月) 08:17:31.57ID:Ek6iOK1a
>>590
そういうときのために
m(ftp%3A//[^/]*/pub/)
って書けるように
処理系のほうが工夫してるんだったら
書かない方が悪い

598デフォルトの名無しさん2020/12/28(月) 08:19:26.17ID:Ek6iOK1a
>>595
楊子傾倒症候群
ってのはどうか

599デフォルトの名無しさん2020/12/28(月) 11:39:49.80ID:vFQ3C+Zv
話の流れ読めないやつだな

600デフォルトの名無しさん2020/12/28(月) 17:59:02.72ID:X0zJWoaM
>>598
+1

601デフォルトの名無しさん2020/12/31(木) 17:15:57.75ID:6l44qxZH
#!/bin/sh

aiuo() {
curl --silent "https://example"; | jq -r ".aaa.bbb" 2> /dev/null
}

hoge=""
hoge=${aiuo}
echo "hoge = ${hoge}"

ターミナルでaiuoの中を一行でやるとjqの結果が表示されるけど、
shファイルを作ってやるとjqの結果が表示されずにhoge =しか表示されないのはどこが間違えてますか?

602デフォルトの名無しさん2020/12/31(木) 17:51:39.44ID:tdaLm2s5
括弧が間違ってるんじゃない?

603デフォルトの名無しさん2020/12/31(木) 18:01:15.85ID:FYWkeHq1
間違ってるな

604デフォルトの名無しさん2020/12/31(木) 19:11:51.62ID:+40/WJTs
awkがシェルスクリプトじゃないのは事実なんだよな

POSIX原理主義はシェルスクリプト以外も使っていいと言いつつ
結局「シェルスクリプトでやる」と主張してるだろっていうツッコミはあるが

シェルスクリプト以外も使っていいからこそ
awkという「シェルスクリプトではない言語」を使っているんだろ?w

だから最初に言った言葉である「awkはシェルスクリプトではない」という事実は変わってない
awkメインのコー ドは「シェルスクリプト」ではなく「awkスクリプト」と呼ぶべきで
POSIX原理主義は「(原則として)シェルスクリプトで実装する」と主張するんじゃなくて
「awkを使って実装する」と主張するべきだってことなんだよ

ちなみにな、POSIX原理主義はシェルスクリプト以外も使っていいのであれば
RubyやJavaなども使っていいということになる
こちらも「シェルスクリプト以外も使っていいが原則としてシェルスクリプトでやる」という主張と矛盾している

605デフォルトの名無しさん2020/12/31(木) 19:14:03.59ID:+40/WJTs
少し訂正

× awkメインのコー ドは「シェルスクリプト」ではなく「awkスクリプト」と呼ぶべきで
○ 埋め込みawkメインのコー ドは「シェルスクリプト」ではなく「awkスクリプト」と呼ぶべきで

Pythonのコー ドをワンライナーでシェルスクリプトに埋め込むのと同じ
ワンライナー程度ならまだシェルスクリプトがメインと言えるだろうが
何十行も全体の半分以上も埋め込むなやw

606デフォルトの名無しさん2020/12/31(木) 20:11:12.41ID:jey11SVr
>>601
hoge=$(aiuo)かhoge=`aiuo`にすれば?

607デフォルトの名無しさん2020/12/31(木) 20:20:46.04ID:6l44qxZH
>>602, 603, 606
どうもありがとうございました
()、{}、`の使い分け画像よく分ってないです

608デフォルトの名無しさん2020/12/31(木) 20:57:23.81ID:2bA0HVQw
( hoge; hage ) コマンドのグループ化(サブシェル内でコマンド実行)
{ hoge; hage; } コマンドのグループ化(サブシェルなしでコマンド実行)

ret=$( hoge; hage ) 標準出力の結果を変数に入れる(サブシェル内でコマンド実行)
ret=`hoge; hage` 上記と同等。POSIXに準拠してない古いシェル用の書き方。ネストできないので30年前から非推奨。
ret=${ hoge; hage; } こんなものはない

609デフォルトの名無しさん2020/12/31(木) 21:11:15.00ID:6l44qxZH
>>608
どうもありがとうございました

610デフォルトの名無しさん2021/01/01(金) 00:39:28.26ID:wSR0l3d3
>>608
`<command>`ってネストできないんだっけ。
ネストしにくいだけで可能ではあるんじゃなかったか。

611デフォルトの名無しさん2021/01/01(金) 00:47:58.70ID:hjo1vK/7
もうどうでもいいよw
``は30年前から非推奨
四則演算にexprを使うのも30年前から非推奨
$(...) と $((...)) を使うのが30年前から続くPOSIX準拠のトレンド
これを普及させることが今年の目標なw

612デフォルトの名無しさん2021/01/01(金) 01:28:03.16ID:7BFOsP2G
>>610
シングルクウォートでできないっけ

613デフォルトの名無しさん2021/01/01(金) 01:52:19.59ID:2/H3yQW9
>>612
バックスラッシュかな。バックスラッシュでできるよう
`level1\`level2\\\`level3\\\\\\\`level4\\\\\\\`\\\`\\\`level3\\\`\``
のような
なんか笑うw

614デフォルトの名無しさん2021/01/01(金) 01:57:51.57ID:7BFOsP2G
>>613
これは分かりにくいな…

615デフォルトの名無しさん2021/01/01(金) 02:15:20.98ID:2/H3yQW9
\ はどういう増加率やねんと思った(level4は一つずつ増やしての手動)ら、2^(level-1)-1
だった
まあ、そんなにネストするやつは居ないだろうで実質level3ぐらいが実用的な範囲か
(もしくはそんなにネストすんなという暗黙的戒めか?w)
でも、遊びでlevel6とかするとやっぱり笑うw

>>614
うん。でも、見方変えるとなんかでかいからペアがわかりやすく...もねえかw

616デフォルトの名無しさん2021/01/01(金) 02:55:03.01ID:hjo1vK/7
>>613
つまようじ大好き症候群やめろ

617デフォルトの名無しさん2021/01/01(金) 03:00:52.40ID:hjo1vK/7
さすがにPOSIXを厳守してるので``つかいます。expr使います。
とか言ってるエセPOSIX信者は消えたかね?

あと`#`とかいうハックするやつは○ね
サブシェル起動で遅くなるだろが

618デフォルトの名無しさん2021/01/01(金) 03:08:12.13ID:2/H3yQW9
いつものやつとしか思えないw
自分が間違ったのを異常に誤魔化すような(いつものw)異常なレスだなと見えるぞ

619デフォルトの名無しさん2021/01/02(土) 20:28:18.95ID:YRmKf+cs
read -u の -u ってなんの略?

620【B:82 W:67 H:95 (D cup) 153 cm age:20】 2021/01/02(土) 21:19:28.61ID:5m3zQZhj
unko

621デフォルトの名無しさん2021/01/02(土) 21:32:04.01ID:1KyEUTu5
ussodaroomae

622デフォルトの名無しさん2021/01/03(日) 22:01:05.48ID:sJkgD0sU
>>619
brian に聞いたら used だって言ってた

623デフォルトの名無しさん2021/01/04(月) 05:07:20.98ID:2pj20ySx
unitみたいだね

624デフォルトの名無しさん2021/01/04(月) 05:36:45.90ID:vYYyBooK
universe

625デフォルトの名無しさん2021/01/04(月) 12:53:18.02ID:gQq4oDMw
aaa="testtt" #フォルダ名
date_dir=$(mkdir -p $aaa/`date '+%Y%m%d'`) #testttフォルダの中に20210104の作りたい

wget https://example.com/example.txt -P $date_dir

これをやるとフォルダは作られるけどtxtの保存先がカレントディレクトリになるのはどうしてですか?

626デフォルトの名無しさん2021/01/04(月) 13:13:55.07ID:VbZo6FxW
>>625
“$date_dir”の中身を確認してみ

原因を知ることも大事だけど
それを調べる方法を知ることのほうがもっと大事

627デフォルトの名無しさん2021/01/04(月) 15:14:38.15ID:gQq4oDMw
>>626
echo $date_dir だとなんにも表示されないです
間違えてますねきっと

628デフォルトの名無しさん2021/01/04(月) 15:43:15.17ID:UbvRjqjo
mkdir -p $aaa/`date '+%Y%m%d'`の標準出力見てごらん

629デフォルトの名無しさん2021/01/04(月) 17:34:40.13ID:yec7Hk1C
mkdir が、戻り値を返すか?

An exit status of zero indicates success,
and a nonzero value indicates failure.

echo $?
だろ

630デフォルトの名無しさん2021/01/04(月) 20:03:34.81ID:qovFEaH+
これがアスペか

631デフォルトの名無しさん2021/01/05(火) 00:39:17.17ID:DDTn90b5
みたいだな。キチも少し入ってそうな

632デフォルトの名無しさん2021/01/05(火) 03:43:22.28ID:psakH13p
いや、単にバカなだけでは...

633デフォルトの名無しさん2021/01/05(火) 10:50:42.48ID:yLm33Pt/
POSIXじゃないからダメ。

634デフォルトの名無しさん2021/01/05(火) 10:55:00.15ID:aNkjNIb3
>>633
俺のふりをするな

635デフォルトの名無しさん2021/01/05(火) 12:08:48.70ID:zD1ciQHW
Ruby では、あるディレクトリ直下のディレクトリだけをソートして、
", "(カンマと空白)でつなげて、1行の文字列にしたものは、

ruby -e 'puts Dir.glob( "*" ).select{ |file| File.directory? file }.sort.join( ", " )'

出力
app, bin, config, db

これをシェルスクリプトでは、どう作るの?
これらを使うの?

ls -d */
find . -maxdepth 1 -type d

636デフォルトの名無しさん2021/01/05(火) 15:59:04.73ID:2z9IJIZ8
スレのテンプレにRubyの話を控える(というかほぼ無くす)よう追記しない?

637デフォルトの名無しさん2021/01/05(火) 16:54:38.25ID:G+6noEPp
>>636
またマウントとれない話題はやめろってか

ダサいなぁ
答えられないならスルーすればいいだけだろ

638デフォルトの名無しさん2021/01/05(火) 17:19:13.55ID:2z9IJIZ8
>>637
えぇ……スレチを指摘するのってダサいんだ。
知らんかったなあw

639デフォルトの名無しさん2021/01/05(火) 17:48:43.98ID:psakH13p
半分シェルスクリプトの質問なんだからスレチでもなくない?
ワイはだるいから答えませんが...

640デフォルトの名無しさん2021/01/05(火) 17:55:47.46ID:DKe92MJE
>>635
ruby -e 'puts Dir.glob( "*" ).select{ |file| File.directory? file }.sort.join( ", " )'

find * -maxdepth 0 -type d -printf "%f, " | sed 's/, $/\n/'

27文字差

641デフォルトの名無しさん2021/01/05(火) 18:05:14.30ID:F/xhjvIl
へー、-printf ねえ...

642デフォルトの名無しさん2021/01/05(火) 18:07:31.79ID:aNkjNIb3
シェルスクリプトが苦手な人が
難しくなったら他言語で書き直したほうがいいってよく言ってるけど
同じ処理を他言語で書き直すとたいていシェルスクリプトより長くなるんだよなw

643デフォルトの名無しさん2021/01/05(火) 18:45:22.40ID:PtcuBhf4
場合によるだろう
いつもの隙あればマウント取りたがりかw1行目から明らかに
>>633は誰かが遊んだのかと思ったら自らなのか。キチってるなw

644デフォルトの名無しさん2021/01/05(火) 18:55:32.13ID:PtcuBhf4
>>643
>>633
>>634
すまん、>>633 w

だけじゃなんななので
あの find はそれでいいの??ダメだったら長くなりそうな気がしないでもない

645デフォルトの名無しさん2021/01/05(火) 19:06:42.36ID:jvx2si/E
ルビキチもポジキチも元気いいなここは
仕事ないのか?

646デフォルトの名無しさん2021/01/05(火) 19:09:44.19ID:PtcuBhf4
ルビキチはしばらく見ないなw
ルビキチに悪影響されての ID:2z9IJIZ8 の流れがちょっとアレだったな

647デフォルトの名無しさん2021/01/05(火) 19:20:26.75ID:DKe92MJE
>>635
find * -type d -prune | paste -sd, | sed 's/,/, /g'

648デフォルトの名無しさん2021/01/05(火) 20:34:41.59ID:Wb+d8sf0
>>642
いろいろと恥ずかしいレスだなw
難しくなったらww
長くなるんだよwww

649デフォルトの名無しさん2021/01/05(火) 21:40:03.20ID:hjkGjz+Y
>>640
findをわざわざ使わなくても、ls -1でイケるやろ。
どうせsedで加工するなら。

650デフォルトの名無しさん2021/01/06(水) 11:24:52.43ID:8PExJP/x
>>635
\ls -md */ | sed 's:/::g'

651デフォルトの名無しさん2021/01/06(水) 12:16:54.19ID:mYe0Yhh2
>>650
こんなオプションあったんだな

652デフォルトの名無しさん2021/01/06(水) 12:42:11.33ID:m96KWhfY
>>650
コンソールの幅?に依存してまうな。
-w 0も必要。

653デフォルトの名無しさん2021/01/06(水) 18:32:25.02ID:BIuq+YWk
POSIX 注意報発令

654デフォルトの名無しさん2021/01/06(水) 20:25:24.32ID:Y7FOu5Ta
POSIXじゃないからダメです

655デフォルトの名無しさん2021/01/06(水) 20:47:11.09ID:HZIFnr+X
つーか俺は誰かと違ってPOSIXじゃないからだめなんて言ってないんだけどな

POSIXシェルではどうやればいいかって話をしてるだけで、ウェブアプリとか
シェルスクリプトには向かない作業にRubyやPythonなどの他の言語を使うのは当たり前
もちろんawkも使って構わないが、ただしそれはawk言語であってシェルスクリプトではないとは言うけどなw

何十年も動かしたいプログラムに、何十年も変化しない言語を使うのはまだ理解できるが
そもそも何十年も動かしたいという顧客の要求がなく、むしろ新しい機能の追加や修正を
行い続けるようなものに開発しづらいシェルスクリプトを使うのは馬鹿げてる

656デフォルトの名無しさん2021/01/06(水) 21:16:29.90ID:D/BvDb1X
っていうか,
「PythonやRubyはPOSIX Cで作られてるからPOSIX!」
っていう理論,いや1億歩譲ってそれを認めたとして,
このスレのタイトルを1億回読み直してほしいw

つまり結局,このスレで「POSIXが~」と限定した場合に言及すべき範囲は
POSIXが(唯一)定めているShell Command Languageおよび(Shell) Utilitiyなんだよな。

657デフォルトの名無しさん2021/01/06(水) 22:10:20.61ID:hZlCYb+O
> 「PythonやRubyはPOSIX Cで作られてるからPOSIX!」

そんな主張してないぞ

POSIX原理主義がPOSIXシェルスクリプトをメインに開発する!
→でも○○無理じゃん
→シェルスクリプトで書くのは必須じゃない。交換可能可能性があれば使ってもOK!
→(交換可能可能性とか後付作っただろ・・・)
その理屈だと、C言語は交換可能性があるからOKだとして、
C言語で誰かがが作った(例えばユニケージの)独自コマンドは交換可能性がないからNGですよね?
そしてPythonやRubyもJythonやJRubyといった交換可能性があるからPOSIXじゃなくてもOKですね

こういう話ね

658デフォルトの名無しさん2021/01/07(木) 00:13:36.72ID:X7rGsxbJ
>>652
COLUMNS=32767 ls ...
でも良さげ?

659デフォルトの名無しさん2021/01/11(月) 01:02:14.08ID:Nxf8SjHi
それで標準ライブラリは極力使わないって話にどうしてなるのか
意味不明なのは変わらないな

660デフォルトの名無しさん2021/01/11(月) 01:04:15.45ID:Nxf8SjHi
誤爆

661デフォルトの名無しさん2021/01/11(月) 12:59:18.59ID:MB0taG6M
どんな環境でも動くものを作れるここの先輩方は
LinuxだけでなくMacも込で動くように作られますか?

662デフォルトの名無しさん2021/01/11(月) 14:08:49.23ID:4YPmzemp
LinuxでもMacでも動かしたくなるようなもので
普通に作れるようなものであれば作ってるよ

普通に作れないものっていうのは
例えば、systemdを使うものとかファイアウォール設定を変えるとか
Linuxの環境じゃないと意味がないようなもののことね

663デフォルトの名無しさん2021/01/11(月) 20:09:51.00ID:1GKY+oky
>>661
ポジキチではないけど,
MacはUNIX v7に準拠してるし,
Linuxは正式に準拠してはいないけどほぼPOSIXに従ってるから,
POSIXの範囲でシェルスクリプトを書いておけば
MacでもLinuxでも動く。

まあそれに「意味があるのか」というのは別の話。
(Goプログラマが「Goで書けどこでも動く!」とか言ってるのと
似たようなもん)

664デフォルトの名無しさん2021/01/11(月) 20:36:44.96ID:3OvUQiSB
ここに書き込む人は大概Linux前提でGNUのツールが前提になってるから
MacにもGNUのツールをどんどん入れれば大丈夫と言う考え方はある
逆に言えばGNU原理主義なのかもしれんがw

665デフォルトの名無しさん2021/01/11(月) 20:36:59.01ID:k6EkwuyV
どれだけ意味があるかって、複数のOS使ってるなら意味有るでしょ?

666デフォルトの名無しさん2021/01/11(月) 20:39:06.55ID:k6EkwuyV
>>664
それはそうなんだけど、Macの場合、結局、フリーソフト使って実現なんだよね
ああ、GNUがフリーソフトだろっていう話じゃなくて
macOSが公式に対応してるわけじゃないって意味ね。
macOSが公式に対応してないからOSのアップデートで動かなかったりする

667デフォルトの名無しさん2021/01/11(月) 21:18:03.54ID:iHOPiDVy
>>666
アポーがグズなことなんか知らん。
だいたいひとまわりくらい古いやろ。

668デフォルトの名無しさん2021/01/11(月) 22:14:22.97ID:TgqHKx3G
>>664
macosってコードベース的には90%くらいfreebsdのはずだが、gnuは徹底排除抹殺思想のfreebsdとしてどんな気持ちなんだろ…
もちろんライセンス的にクリアしてるんだろうが

まあmacは持ってないんだが(シェル含め)スクリプト写経用に人からコピーさせてもらった、まんじゃろ、とか言ってた頃?
blobじゃないファイルのコメントにfreebsd記載率9割

669デフォルトの名無しさん2021/01/11(月) 22:19:33.52ID:TgqHKx3G
というかbsd使いは規格とか気にしてない人が多そう(尖った人という偏見)
そもそもコミュニティが小さいので気にするまでもないってのもある
規格を異様に気にするのは、環境が千差万別なlinuxユーザでしょ

670デフォルトの名無しさん2021/01/12(火) 02:54:46.84ID:hnOFIrYF
>macosってコードベース的には90%くらいfreebsdのはず
>まあmacは持ってないんだが
他も無知ゆえの妄想ばかりだな
mac持ってなくても調べればわかるのを調べもしないでのでタチが悪い無知

671デフォルトの名無しさん2021/01/12(火) 03:08:52.49ID:TSfQlcFo
usrとかbinとかgrep(と-v)してみりゃそうだって分かるだろ、バイナリ部分は公開してない以上分からんとしか言えん

672デフォルトの名無しさん2021/01/12(火) 03:23:26.83ID:hnOFIrYF
「コードベース」とか範囲が広すぎだろう。バイナリ部分ってなんやねん
単にコマンド(大体はPOSIXにあるコマンド)って話なのか?

673デフォルトの名無しさん2021/01/12(火) 04:20:31.55ID:4wlpPo5A
>>672
えっ。
わからんの?
マジで言ってんの?

さすが信者。w

674デフォルトの名無しさん2021/01/12(火) 05:28:57.54ID:hnOFIrYF
お前の独特の言語言葉なんて知らんわ
usr bin にあるバイナリを調べろと言ってるのか。ちょっとは自分で調べてあんなこと言ってるのかと思ったら、全くなのな
てことは単にコマンドのことを言ってるだけか。コードベースwとか独特の言葉を使うなよ

それなりにオープンソースで公開されてるんだから少しは調べようとしろよ、語るwなら
妄想で語るだけのに さすが信者 とか言われたくないわw

675デフォルトの名無しさん2021/01/12(火) 06:11:57.28ID:eUCbLjlC
勝手に
les, bus - ATM LAN Emulation service demons
というのが入っているけど、何これ

676デフォルトの名無しさん2021/01/12(火) 23:03:02.65ID:ESpMy2tV
>>675
Virus🦠

677デフォルトの名無しさん2021/01/14(木) 09:56:27.47ID:s2FPIYdL
なんか面白いテクニックが某所で紹介されてるな

#!/usr/bin/echo This script is supposed to be sourced like this: .

まあ、macだと/bin/echoだったりするわけだが

678デフォルトの名無しさん2021/01/14(木) 12:42:21.34ID:tanA3fVT
a="A" b="B" みたいな文字列を渡したら
a変数にA、b変数のBみたいに代入する方法ないかな?
ただし脆弱性が怖いんで、 a="$(cmd)" みたいなものは
そのままa変数に$(cmd)という文字列が入る

そしてスペースとかダブルクォート入れたかったら
a='A " A' とか a="A \" A" とかできるようにしたい

679デフォルトの名無しさん2021/01/14(木) 13:23:35.55ID:bf8JVc72
ムチャ言ってんな。w

680デフォルトの名無しさん2021/01/14(木) 14:17:26.70ID:83515Abn
>>677
まあ「面白い」というだけで
#!/bin/sh

echo 'This...'
とすればいいだけだがなw

681デフォルトの名無しさん2021/01/14(木) 14:19:03.84ID:83515Abn
ちなみに発言は↓ここ
https://github.com/koalaman/shellcheck/issues/2110

当人の発言によれば,
#!/bin/echoという「シバン」にすることに特に意味はないようなので

「単独で実行されたとき」を判定できればシバンじゃなくてもいい。
それはps(1)コマンドを使った「普通の」方法で達成可能。

まあ「普通」が嫌なんだろうなw

682デフォルトの名無しさん2021/01/14(木) 14:24:12.88ID:bf8JVc72
>>680
それだとsourceしたときにechoされちゃうやろ。

683デフォルトの名無しさん2021/01/14(木) 15:11:50.55ID:fZvBFJEs
どう面白いの?

684デフォルトの名無しさん2021/01/14(木) 15:12:47.48ID:tanA3fVT
>>681
psを使った方法は名前を変えられるとだめってレスきとるでw
シンボリックリンクとかな
ちなみにさっき名前にバージョン番号がついたバイナリを落とした所w

685デフォルトの名無しさん2021/01/14(木) 16:23:35.27ID:83515Abn
「ファイル名を変える」より「/usr/bin/echoがない」ことの方が致命的だと思うんだけどな。
まあ当人がそう思わないんなら(もしかして認識さえしてない?),俺はもう何も言わない。

686デフォルトの名無しさん2021/01/14(木) 16:36:57.62ID:tanA3fVT
/usr/bin/echoがないならエラーで落ちるだろ

実行しようとした時に、実行させないのが
目的なんだから、目的は達成できてる

687デフォルトの名無しさん2021/01/14(木) 18:00:29.32ID:83515Abn
>>683
いや,正直「奇抜(そして実装依存)」というだけで,
実用できると思っている理由が分からない。

688デフォルトの名無しさん2021/01/14(木) 20:28:27.29ID:bf8JVc72
>>687
そもそも「実用」するようなもんじゃない。
しょせんヘマ避けなので、実装依存なんか問題にならないことは>>686も言ったとおり。

きみ、アホなの?

689デフォルトの名無しさん2021/01/15(金) 01:15:51.82ID:YhT5m5Ec
実用できない癖に実用性は求めるのか…
じゃあファイル名に依存しててもいいじゃん……

690デフォルトの名無しさん2021/01/15(金) 07:41:49.61ID:uPQddvH2
実用っていうのは、echoするって意味だろ

ぱっとみてechoできなければ意味ないじゃんって
勘違いしたんだろうけど、echoするのが目的じゃないんだから実用性はある

なんのためにあるのか少しは考えたら?

691デフォルトの名無しさん2021/01/15(金) 07:57:49.36ID:XkGM5v4E
エコースクリプトという新ジャンルを思い付いたけど大してする事なかった

692デフォルトの名無しさん2021/01/15(金) 07:58:08.43ID:79YZFf86
ヘマ避けならそもそも実行権限つけなきゃいいだけじゃね……

693デフォルトの名無しさん2021/01/18(月) 18:04:21.25ID:Ge+kcekj
シェルスクリプトをググらず書けるようになったやっぱ言語は覚えた方がいいのか
perlとか正規表現の指定しか知らんしまだsedやawkの方が出番あるわ

694デフォルトの名無しさん2021/01/18(月) 18:36:52.77ID:ZtDZqP0p
まあ書けないよりは書けたほうがいいのは確かだが、
シェルスクリプトの場合、すでにある便利なコマンドを組み合わせるには
最速の方法なので、その言語を覚えていたとしても使えるようになったほうが良いと思うよ

シェルスクリプトの変わりにプログラム言語を使うと
コードが冗長になって、やりたい作業をささっとこなせない
コマンドの再発明をすることになる

695デフォルトの名無しさん2021/01/18(月) 20:37:19.00ID:daUvLGrG
>>693
sedはともかく、awkは忘れて、Perlに乗り換えたほうがいいんでは。

つーか、ワイはawkを使えん!w

696デフォルトの名無しさん2021/01/18(月) 21:36:36.94ID:ZtDZqP0p
Perlは互換性がなー、と言いたいところだけど
その互換性って主にライブラリの話
awkにはライブラリがない。

じゃあライブラリ無しで比べてみよう
ライブラリがないawkと
ライブラリを使わないPerl

どちらが機能が上で互換性があるだろうか?
おそらくPerlの方が機能が上で互換性も有るだろうな
Perlがawkに劣るのは標準で入ってない環境に当たる可能性が少し高いってことぐらい

697デフォルトの名無しさん2021/01/18(月) 23:52:13.21ID:AsdWc5Bm
ifはfi
caseはesac
など、何で最後の単語が逆になってるんでしょうか?

698デフォルトの名無しさん2021/01/19(火) 00:26:51.55ID:kVTxVY5X
parlはawkやsed風に書けるけどあくまで似せてるだけで細部では違うから戸惑ったぞ
awkとperlでは添字がずれるし
sedの/foo/!や/foo/,/bar/はperlじゃできないからな

699デフォルトの名無しさん2021/01/19(火) 00:46:49.98ID:CdqMY/2C
awkはテキスト処理に特化した言語だろ
そもそも土俵が違う

700デフォルトの名無しさん2021/01/19(火) 01:53:49.03ID:c4o9VOno
>>696
もう答えが出とるやん。w
ワイもそのとおりやと思う。

違うとするなら、昔のサーバーよりも、最近のコンテナのほうがPerlを外したくなるやろな、てところ。
意外とsedの価値が上がってる気が。

701デフォルトの名無しさん2021/01/19(火) 01:55:12.82ID:c4o9VOno
ちなみに、互換性ならむしろPerlのほうが?

環境に依存しないワンライナーを書くならsedよりperlの方がいい - Qiita
https://qiita.com/takc923/items/8654d69008e921c9c9fb

702デフォルトの名無しさん2021/01/19(火) 03:26:45.46ID:NDWgKi1/
>>697
When keywords are used, generally the reversed character sequence of the introducing keyword is used for terminating the enclosure
っていうだけ、terminating the enclosure のために reversed character sequence でいいんじゃねっていう発想なだけだろう

703デフォルトの名無しさん2021/01/19(火) 03:59:18.00ID:DHFXGQbg
どの道具を使うべきかは解決すべき問題が与えられた時点で決まる
どれが優れているかなんて一般論で言うのは無意味だろ

704デフォルトの名無しさん2021/01/19(火) 04:17:07.83ID:EgWSSFeL
doブロックの終了はなんでodじゃないんだろう。
odコマンドとぶつかるから?

705デフォルトの名無しさん2021/01/19(火) 04:21:10.41ID:NDWgKi1/
らしい。odコマンドが先にあったかららしい

706デフォルトの名無しさん2021/01/19(火) 05:59:25.50ID:Y7rxETSL
>>699
そのawkをBEGINだけ使って、Perlのような使い方をするコードを
シェルスクリプトだって言い張ってる
awk言語プログラマだっているんですよ!

707デフォルトの名無しさん2021/01/21(木) 09:09:20.38ID:An1buQz3
ALGOL 68先輩チイっす

708デフォルトの名無しさん2021/01/23(土) 22:13:34.25ID:99RNgT30
長いマルチバイトの文字列をきりのよい文字でカットすることはできますが

動画を落としていますがファイル名はタイトルから取っています
しかし昨今タイトルが長い動画があるため規定以上はcutコマンドでカットしていました
問題がありながらもそれなりに使えていたのですが
先日から落とせてない動画があり調べると
文字の途中でcutされてバイナリ文字になっているためか
samba経由で見れていないのが原因でした
(ls + grepでgrepがうまく動作していない問題もありました)

cutコマンドを調べると-bではなく-cを使えば将来的にいいようなのですが
現状-bと-cの動作は同じでした
このような場合にどのように対応するべきでしょうか

709デフォルトの名無しさん2021/01/23(土) 22:13:55.21ID:99RNgT30
続き

【現状の実装】
cut -b 1-220 -n

【変更してみた実装】
cut -c 1-220 -n

【途中に加えている編集】
sed -e "y/!’@#$%&-+=_;/\!'@#$%&-+=_;/
※この編集のために以下の文字列の「!」が「!」になっています
 これ以外に英数字などのASCII文字を変換をしていますが影響しないため割愛します

【元の文字列】
XXXXXXXXXX_たとえばラストダンジョン前の村の少年が序盤の街で暮らすような物語 第3話『たとえば「なんでもします!」と言われりゃ悪い気はしないけどそこはダメって言わなきゃいけないようなジレンマ』

【cutの結果】
XXXXXXXXXX_たとえばラストダンジョン前の村の少年が序盤の街で暮らすような物語 第3話『たとえば「なんでもします!」と言われりゃ悪い気はしないけどそこはダメって言わ?

※最後は「?」になっていますがls上の表示であり実際は違うようです

なお最終的には上記の文字列に拡張子を付与しています

710デフォルトの名無しさん2021/01/23(土) 23:45:49.57ID:gMC6vTWO
cut -b 1-220 | iconv -f utf-8 -t utf-8 -c

711デフォルトの名無しさん2021/01/24(日) 00:02:43.53ID:goOw3wVq
違法ダウンロードは駄目だぞ

712デフォルトの名無しさん2021/01/24(日) 00:07:55.48ID:noy3WRZf
バイト数ではなく、見た目の長さ(全角(?)が2文字分)で切るでいいんだったら
colrm 221
かな

713デフォルトの名無しさん2021/01/24(日) 02:59:28.84ID:p6gUDKyK
ext4は255バイトでNTFSはUTF-16で255文字だっけ?

ext4は日本語だと85文字ぐらいしかないんだよな
IVSをフルに使われたら32文字にまで減るというw

それに対してWindowsは255文字

714デフォルトの名無しさん2021/01/24(日) 03:01:58.32ID:p6gUDKyK
ロケールに対応していれば文字数で切ることは出来るかもしれないけど
それだと最大に長さにするのは難しそう
かと言ってCロケールとかにすると文字の区切りがわからない
文字として扱いたいけどバイト数で長さを切るって難しいな
なんでext4ってバイト数制限なんだろ?

715デフォルトの名無しさん2021/01/24(日) 03:03:57.75ID:p6gUDKyK
やるとしたらUTF8ロケールにして
N文字・・・何バイトか調べる
N-1文字・・・何バイトか調べる
って繰り返して、最大のバイト数に入るまで
1文字ずつループで削るしかないのかな?

716デフォルトの名無しさん2021/01/24(日) 03:45:30.91ID:tOPT5JeT
ぶつぶつ独り言をなに言ってんだこいつw

717デフォルトの名無しさん2021/01/24(日) 06:40:05.99ID:hNIQMZQm
どこか間違いでも?

718デフォルトの名無しさん2021/01/24(日) 09:56:52.75ID:mNyCGHoF
さりげなく間違いを入れて正しい答えを書いてもらう、そんなのには釣られんから

719デフォルトの名無しさん2021/01/29(金) 13:10:05.73ID:3+uZOKvi
ファイル1から時定数のマルチバイト文字数をファイル2へ出力するプログラムを書いてみたよ
https://www.stdput.com/dat/pg/cutstr.zip

手抜きでutf-8限定だけどね

720デフォルトの名無しさん2021/01/29(金) 14:11:51.49ID:w7VgAIO0
>>719

C言語で独自実装してるからやり直し
--------

引数のファイルから指定した文字数をファイルへ出力します

コンパイルを行う為にg++が必要です
g++をインストールした後にcomp.shを実行して下さい

# apt install -y g++;

$ cd /(cutstrのディレクトリ)/;
$ sh ./comp.sh;

--------

実行ファイル
pg_cutstr.out

引数
-i 対象とするファイル
-n (出力する数)
-i 結果を出力するファイル

--------

実行例

./pg_cutstr.out -i /tmp/input.txt -n 8 -o /tmp/output.txt

--------

721デフォルトの名無しさん2021/01/29(金) 20:32:02.95ID:jpIxUK7H
bashの機能をざっと見ていたらこんなの見つけたんだけど
http://manpages.ubuntu.com/manpages/bionic/ja/man1/bash.1.html

/dev/fd/fd
fd が有効な整数ならばファイル・ディスクリプター fd が複製されます。
/dev/stdin
ファイル・ディスクリプター 0 が複製されます。
/dev/stdout
ファイル・ディスクリプター 1 が複製されます。
/dev/stderr
ファイル・ディスクリプター 2 が複製されます。
/dev/tcp/host/port
host が有効なホスト名またはインターネットアドレスで port が整数のポート番号
ならば、 bash は対応するソケットに対して TCP 接続のオープンを試みます。
/dev/udp/host/port
host が有効なホスト名またはインターネットアドレスで port が整数のポート番号
ならば、 bash は対応するソケットに対して UDP 接続のオープンを試みます。

インターネットアドレスで接続できるんだーは、これみてなんとか使い方わかったんだけど
https://suztomo.hatenadiary.org/entry/20080430/1209574954

/dev/fd/fd これってどうやって使えばいいの?

722デフォルトの名無しさん2021/01/30(土) 11:06:08.44ID:0eg/dEnN
2> /dev/fd/1
2> /dev/stdout
2>&1
等価だろう。大体は 2>&1 だろうけど、2>&1 じゃなく上の方がとかは
out=/dev/null # or /dev/1(/dev/fd/stdout) or /path/to/file, etc
2> $out
とかしたいとかかな。0/1/2以外は exec で自分で(FIFOとか)割り当てたのとか

723デフォルトの名無しさん2021/01/30(土) 13:28:33.67ID:NOQF7Zt1
/dev/fd/100 とかできるんじゃないかと思って

724デフォルトの名無しさん2021/01/30(土) 13:33:54.58ID:NOQF7Zt1
もしかして/dev/fd/fdを使って新しいファイルディスクリプタを作れないのか?

725デフォルトの名無しさん2021/02/01(月) 01:32:52.47ID:/mOfS3Su
$ a=$(printf '\0\n')
-bash: 警告: command substitution: ignored null byte in input
っていうエラーが出るんだけどさ、これだとでない
printf '\0\n' | read a

なんでreadだとこのエラーはださないんだろう?
誰か理由わかる?

726デフォルトの名無しさん2021/02/01(月) 02:54:12.47ID:TyKattHL

727デフォルトの名無しさん2021/02/01(月) 02:58:31.68ID:45FIRZtx
>726
それは「警告:コマンド置換:入力のヌルバイトを無視しました」を取り除きます
という内容なので全くの無関係です

728デフォルトの名無しさん2021/02/01(月) 03:00:33.65ID:45FIRZtx
なぜこんな簡単な質問が理解できないのか、疑問に思います。

質問は明らかにこれです。
> なんでreadだとこのエラーはださないんだろう?

729デフォルトの名無しさん2021/02/01(月) 03:25:24.42ID:srTHfdLe
readはコマンド置換じゃないから。
なんでこんな単純なことが理解出来ないのか、理解に苦しむ

730デフォルトの名無しさん2021/02/01(月) 03:33:26.42ID:IMDeHKxL
すごいな。本当に質問を理解できてなかったよ。
なぜコマンド置換ではない場合は、エラーを出さないことにしたのか?
という質問だろ

731デフォルトの名無しさん2021/02/01(月) 03:41:04.66ID:srTHfdLe
>なぜコマンド置換ではない場合は、エラーを出さないことにしたのか?

昔は出ていたんですか?

732デフォルトの名無しさん2021/02/01(月) 03:44:32.56ID:IMDeHKxL
ふう・・・昔はどうだったかなんて>>726を読めばわかるだろ
話にならない

733デフォルトの名無しさん2021/02/01(月) 04:06:05.16ID:srTHfdLe
だったら質問がおかしいだけでは?
ほんと話にならないw

734デフォルトの名無しさん2021/02/01(月) 04:07:05.58ID:IMDeHKxL
言ったな?なら質問のどこがおかしいか指摘できないなら
お前が間違ってることになる。はいどこがおかしいか言ってみて

735デフォルトの名無しさん2021/02/01(月) 04:07:54.79ID:IMDeHKxL
まあまたいつものやつだろうな。他人の話を聞かないで
自分の思い込みで発言して、指摘されたら逆切れ

736デフォルトの名無しさん2021/02/01(月) 09:03:24.63ID:1kN5LQIf
宿題でもやってんの?
ソースでも読めばいいのに

737デフォルトの名無しさん2021/02/01(月) 09:17:38.98ID:srTHfdLe
>>735
自己紹介かよ草

738デフォルトの名無しさん2021/02/01(月) 09:26:00.05ID:QF/67lbC
ソース読んでも意図はわからんだろうな
元々あったが無効に(#if 0)になってたのが有効に(#if 1)なったていうだけっぽい、ソース上だけでは

739デフォルトの名無しさん2021/02/01(月) 10:21:53.21ID:TyKattHL
なぜこんな簡単な文章を最後まで読まずに無関係だと決めつけるのか、疑問に思います。

740デフォルトの名無しさん2021/02/01(月) 11:27:36.40ID:OjiuyGRS
キチガイに関わるな

741デフォルトの名無しさん2021/02/01(月) 12:03:40.53ID:IMDeHKxL
>>738
やっぱ意図はわからんか

>>739
意図はわからんだろうなと言ってる人がいますが、
それで意図の話とどう関係するんですか?

742デフォルトの名無しさん2021/02/01(月) 12:55:01.95ID:DIpjm9PW
> なんでreadだとこのエラーはださないんだろう?
>なぜコマンド置換ではない場合は、エラーを出さないことにしたのか?
ある意味認識が逆。でなくて、単に、
コマンド置換とこだけ(そもそもコード上でもあった)メッセージを出すようなった
というのだろう

そういう認識を持っていた(本当に持っていたかは知らんけどw)ら、お前に対して言っているのも間違いではない
単なるちょっとした行き違いとしろよ。お前の質問文がズレてるのもあるしそれなのにお前から挑発してるしw、何で
コマンド置換とこだけ(そもそもコード上でもあった)メッセージを出すようなった
のかはちょっと調べた範囲ではわからなさそうだからな=そのせいでバグとされて対応に追われてるのがわんさかあるのに、何でbash 4.4(?)からそうなったのか言及されてるのはなさげ

743デフォルトの名無しさん2021/02/01(月) 12:57:52.28ID:KcF6/QTu
パイプは、エラーメッセージを出したらダメ。
後ろにつながらない

出ていても、標準出力には出せない。
結果を、後ろに標準出力で渡すから

標準エラーか、エラーログに出さないといけない

744デフォルトの名無しさん2021/02/01(月) 13:00:27.89ID:DIpjm9PW
今までのでの関連なら関係ない話だな

745デフォルトの名無しさん2021/02/01(月) 14:09:03.27ID:IMDeHKxL
>>742
> コマンド置換とこだけ(そもそもコード上でもあった)メッセージを出すようなった

どっちでもいいわw

なんでコマンド置換「だけ」だしたのか?その意図がわかる?

言っとくけど質問は「だけ」だからな
「だした」理由なんかわかってる
なぜコマンド置換のとこ「だけ」なのか

746デフォルトの名無しさん2021/02/01(月) 14:11:00.77ID:IMDeHKxL
>>743
標準出力にエラーを出すなんて発想は最初からなかった
標準エラー出力に出すに決まってるよ

747デフォルトの名無しさん2021/02/01(月) 14:19:22.93ID:B8uuNaF9
お前ら今年も仲いいな (´・ω・`)

748デフォルトの名無しさん2021/02/01(月) 17:54:19.71ID:rahHnkLn
>>745
お前は人の文の意図さえ全く読めないのか

てか、また自分の非/ミスは全く認めないその文からは...
そんな「知ってた」はずなら、質問は的確だっただろうに、そのごまかしからもやはり...

だったら、終了だな。すでに>>742って書いてるからな
お前がやはりいつものやつだったらいつもの通り読めないんだろうけどw

749デフォルトの名無しさん2021/02/01(月) 18:03:43.60ID:IMDeHKxL
>>748

> なんでreadだとこのエラーはださないんだろう?
> 誰か理由わかる?

この「質問」に最初に答えたレスはどれですか?

750デフォルトの名無しさん2021/02/01(月) 18:04:02.51ID:rahHnkLn
どっちか判断つかなかったのは>>735があるからなw
いつものやつ本人だったら本当によくいうよだよ、ガイキチ
じゃないんだったら、自分の>>735をよく噛みしめるんだな、>>745がまさしくお前のいう>>735だろうにww

751デフォルトの名無しさん2021/02/01(月) 18:05:58.97ID:IMDeHKxL
> すでに>>742って書いてるからな

>>725の質問の後、>>726-741の間で質問を理解してないと言われて
ようやく気づいて>>742で答えたってことですよね?

752デフォルトの名無しさん2021/02/01(月) 18:07:57.44ID:IMDeHKxL
散々指摘されてようやく

>>742で、readでこのエラーはださなかった意図は
(俺には)わかりません。だからなぁ

>>742より
> コマンド置換とこだけ(そもそもコード上でもあった)メッセージを出すようなった
> のかはちょっと調べた範囲ではわからなさそうだからな

753デフォルトの名無しさん2021/02/01(月) 18:09:50.61ID:rahHnkLn
>>749
>コマンド置換とこだけ(そもそもコード上でもあった)メッセージを出すようなった
>そういう認識を持っていた(本当に持っていたかは知らんけどw)ら
>>726もそれに当たるだろうし、以下の>>729なども返しとしてはそんなに間違っていないなw

てか、そのズレてる質問、間違った質問をまだ繰り返すのだな??w
>>751,752
やはり、いつものお前か?ああ、やっぱりお前か。ガイキチ確定かよ(?)w

754デフォルトの名無しさん2021/02/01(月) 18:12:17.51ID:IMDeHKxL
> >>726もそれに当たるだろうし、以下の>>729なども返しとしてはそんなに間違っていないなw

大間違いじゃん。

>>726の答え
質問 AとBが候補として考えられるのに、Bだけやった「意図」は?
答え Bだけやりました

>>729の答え
質問 AとBが候補として考えられるのに、Bだけやった「意図」は?
答え AはBじゃないから


「意図」を全く答えてない
0点だろw

755デフォルトの名無しさん2021/02/01(月) 18:13:26.88ID:rahHnkLn
散々指摘も何も、俺は>>738からだからな。単に>736のレスに興味持ってそれに対してからの
お前の疑問は別に否定してないのになあwどっちの言い分もまあわかるっていう感じなw
なんかまた妄想のストーリー描いているようだけど、トンチンカンなレススンア

756デフォルトの名無しさん2021/02/01(月) 18:14:35.10ID:rahHnkLn
>>754
すでに書いたろ。やはり読めないようだけど
お前の欲しいレスだけくれなんてお前の都合なんて、レスを書くやつに強制しても無駄だぞ?お前自体してないんだからww

757デフォルトの名無しさん2021/02/01(月) 18:18:04.17ID:IMDeHKxL
> すでに書いたろ。
それはさんざん質問を理解してないと言われた後な

758デフォルトの名無しさん2021/02/01(月) 18:19:40.53ID:IMDeHKxL
>>754で書いたけど

>>726>>729も的外れだってことは否定しないよな?
そういうことだよ。否定しないくせに否定するなとw

759デフォルトの名無しさん2021/02/01(月) 18:20:05.00ID:rahHnkLn
>>755って書いてるのに未だにw
また明らかに自分のミスを誤魔化すためだけのレスだな。しょうもない

760デフォルトの名無しさん2021/02/01(月) 18:23:11.00ID:IMDeHKxL
だから「質問を理解してない」って話題はここなわけ

728 自分:デフォルトの名無しさん[sage] 投稿日:2021/02/01(月) 03:00:33.65 ID:45FIRZtx [2/2]
なぜこんな簡単な質問が理解できないのか、疑問に思います。

質問は明らかにこれです。
> なんでreadだとこのエラーはださないんだろう?

729 名前:デフォルトの名無しさん[sage] 投稿日:2021/02/01(月) 03:25:24.42 ID:srTHfdLe [1/4]
readはコマンド置換じゃないから。
なんでこんな単純なことが理解出来ないのか、理解に苦しむ



お前が出てきたのは後からじゃん。
後から来て質問と無関係の話をしてるやつを擁護してくるなと

761デフォルトの名無しさん2021/02/01(月) 18:25:08.63ID:rahHnkLn
その本人が本当にはどう思っていたかは知らんが>>753に書いた通り。そんなお前の都合の良い方だけに与しない
別に間違っているとは思えなく読める。読めない/誤魔化したいだけのお前にはわからんだろうが
また、>>750って書いてるのに、まだ続けるのか。さすがだな...w
また誤魔化すだけの話題変えるしなwwガイキチの粘着質は尽きないな

762デフォルトの名無しさん2021/02/01(月) 18:28:22.85ID:IMDeHKxL
なんつーか、質問がはっきりしてるのにその質問を無視して
アホを擁護するとか、まあいつもの流れだよなぁw

763デフォルトの名無しさん2021/02/01(月) 18:30:08.47ID:IMDeHKxL
質問に答えるだけでいいんやで?
それ以外の話はお前とは関係ないやろ?
質問に答えてあとは黙ってればいいだろ?

本当にお前がしたいのは、質問と関係ない話をして
日頃の鬱憤でも晴らしたいんか?

764デフォルトの名無しさん2021/02/01(月) 18:31:58.96ID:rahHnkLn
どっちの言い分もまあわかるっていう感じなだからな。また質問がズレてるとおも言ってるしな(それが元凶だろうという意味だぞw)
全然人のを読めないのな
どういうオチなのか知らんがよく>>750なんて書けたなあっていうだけのオチだなw

765デフォルトの名無しさん2021/02/01(月) 18:33:12.67ID:rahHnkLn
>>763
よくいうよwww
まあ素晴らしいオチとしておくよ。別に笑いを誘ったわけじゃないんだろうけどww

766デフォルトの名無しさん2021/02/01(月) 18:34:17.43ID:IMDeHKxL
>>754についての反論もなかったね。

767デフォルトの名無しさん2021/02/01(月) 18:36:52.59ID:rahHnkLn
書いてるだろうに...わからんのか。かやはりお前は読めないやつだな...つくづく呆れるw

768デフォルトの名無しさん2021/02/01(月) 18:46:47.12ID:IMDeHKxL
書いてる言ったからには、その書いてるレスを引用する必要がある
そうすればお前の主張する「書いてる」が間違いだとわかるだろう

769デフォルトの名無しさん2021/02/01(月) 18:52:47.07ID:rahHnkLn
お前は偉そうなくせに教えてくれくんだなあ...つくづくそう思う
そんなヤツはどう扱われる/見られるなんて普通知っているもんだが、さすがだなw
誤魔化そうとすればするほどドツボなのも、さすがすぎてすげえよw

770デフォルトの名無しさん2021/02/01(月) 19:36:21.57ID:IMDeHKxL
それがお前がどうしてもレスしたかった事なんだよな?w

771デフォルトの名無しさん2021/02/01(月) 20:02:15.14ID:7N4kxSgn
自己紹介好きすぎだな
らしいけどww

772デフォルトの名無しさん2021/02/01(月) 20:42:09.98ID:1FPaV5fA
暇なのね君たちは

773デフォルトの名無しさん2021/02/01(月) 22:25:22.02ID:srTHfdLe
>>730にこう書いてあるねぇ
>なぜコマンド置換ではない場合は、エラーを出さないことにしたのか?

コマンド置換じゃないから。>>729で書いた時点で話が終わってるはずなんだが。
ごめんなさい言えばいいだけなのに、20近いレスで
言い訳ばかり書いてるような頭じゃ理解できないんだろうな

774デフォルトの名無しさん2021/02/02(火) 16:20:28.39ID:F8EiZmWN
>>773
なんでコマンド置換じゃないときはエラーを出さないようにしたの?

775デフォルトの名無しさん2021/02/02(火) 20:51:03.59ID:/MwdFNc+
>>774
なんで出す必要があるの?

776デフォルトの名無しさん2021/02/02(火) 22:58:29.24ID:7of77oce
コマンド置換だしたからだろ?

どちらもnullがあったらかってに除去するという処理をしていたのに
なぜかコマンド置換の場合だけエラーを出すようにした


それはなぜか?その理由が>>729に書いてあると言ったよね?

777デフォルトの名無しさん2021/02/03(水) 00:00:50.72ID:mc34sfAb
基地外だなマジキチ

778デフォルトの名無しさん2021/02/03(水) 00:01:18.12ID:gCnP5AIU
>>776
readはコマンド置換じゃないから。

って書いてあるじゃないか。

779デフォルトの名無しさん2021/02/03(水) 00:30:27.87ID:JDDr+bmN
ignored null byte処理が実装されたのは、
コマンド置換: 2.05-alpha (この時点ですでにメッセージを出力する文もあることはある)
read: 4.3 (メッセージを出力する文はまだない)
コマンド置換でメッセージ出力するようにしたのは 4.4-betaからで、readでメッセージを出力するのは時期尚早なんだろうw
readとコマンド置換が同じじゃなくてはというようなことを言い張ってるが、bashの中の人は別に同じとは思ってないんだろう
他に構文解析かな??のとこでも同じように ignored null byte を出力する文はあることはあるしな(言い張ってるゼロイチ論ではこっちもじゃないのか?)

>まあまたいつものやつだろうな。他人の話を聞かないで
>自分の思い込みで発言して、指摘されたら逆切れ
どの口いやどの頭でこんなことほざいたんだか。いやあの頭だからか

780デフォルトの名無しさん2021/02/03(水) 03:19:25.92ID:tGLgSWGP
>>778
コマンド置換ではないreadは出さない「理由」はなんですか?
が質問ですよ?

readで出さない理由はわからないけど
readはコマンド置換じゃないから出しませんでした。
だと「理由はわからない」が答えになります。OK?

781デフォルトの名無しさん2021/02/03(水) 03:23:16.39ID:tGLgSWGP
>>779
あなたは時期が来たらreadでエラーを出すべきだと思いますか?
逆にそう思わないですか?

出すべき or 出すべきでない、その理由は何でしょうか?
知りたいのは「理由」です。

いま出てないから出てないんだーとかいう
現状は最初からわかってます。

782デフォルトの名無しさん2021/02/03(水) 03:36:41.39ID:BvAjTIO8
こっちはechoを使ってるのに、こっちではprintfを使ってる理由はなんですか?というレビューに対して
printfはechoじゃないから、じゃ全く答えになってないんだよな
そんな答えばっかり返してるやつはアスペだと思う

レビューでインデントはスペース4にしなさいと言っても
こっちのスクリプトは4にしなさいと言われなかったからとか言いそうw

783デフォルトの名無しさん2021/02/03(水) 04:14:56.11ID:JHLizRYo
読めなさすぎだろう、自分の頭で物事を考えなさすぎだろう
問題の本質は、
何で コマンド置換のとこのソースコード中に昔から元々あったメッセージ出力を出すようになったのか
でしかない。readとか関係ない。ソース見れば大体その雰囲気がわかるだろう
質問するなら、
どうして4.4からコマンド置換のとこでメッセージ出すようになったか
だろう。readに主題置いて聞かれたら、readはコマンド置換じゃないから という返答は特におかしくもないだろう

レビューとか下手な例え話してんじゃないよ

784デフォルトの名無しさん2021/02/03(水) 04:24:23.61ID:BvAjTIO8
>>783
本質って、最初のレス読めばわかるだろう?
>>725

> $ a=$(printf '\0\n')
> -bash: 警告: command substitution: ignored null byte in input
> っていうエラーが出るんだけどさ、これだとでない
> printf '\0\n' | read a
>
> なんでreadだとこのエラーはださないんだろう?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 誰か理由わかる?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

問題の本質は「なんでreadだとこのエラーはださないんだろう?誰か理由わかる?」
以外にありえないよ。勝手に文章に入れ替えるの"だけ"は明らかに間違いだからね

785デフォルトの名無しさん2021/02/03(水) 04:27:53.75ID:BvAjTIO8
> だろう。readに主題置いて聞かれたら、

readは主語ではありません。この文章は日本語でよくある主語の省略です。

主語を入れるなら
「なんで(開発者は)readだとこのエラーはださないんだろう?」
となり、主語は開発者です。

786デフォルトの名無しさん2021/02/03(水) 04:30:18.19ID:jQBymAxP
お前の言ってるのはトンチンカンな質問の本質(??)wだろう
問題の本質の意味が違う、てか読めねえの?普通に読めそうだと思うんだがな
トンチンカンな質問の発端がメッセージが出ることなんだろ?その疑問の発露となる問題の本質だよ、故に
何で コマンド置換のとこのソースコード中に昔から元々あったメッセージ出力を出すようになったのか
だよ

繰り返しreadではと言っておいて何を言っているのか。本当にお前は懲りないな

787デフォルトの名無しさん2021/02/03(水) 04:34:08.84ID:BvAjTIO8
文章は

「read "では"」です。
「read "が"」ではありません。

この文章を見て、readを主語だと思うのは日本語不自由な証拠です。
「コマンド置換(主語)がエラーを出している」
「read(主語)はエラーを出さない」
と勘違いしちゃったんでしょうね。


「開発者はなぜコマンド置換ではエラーを出すようにし、readでは出さなかったのか?」
という文章だと読めなかったんですか?

やっぱりアスペなんだろうな

788デフォルトの名無しさん2021/02/03(水) 04:40:15.59ID:jQBymAxP
どうして4.4からコマンド置換のとこでメッセージ出すようになったか
開発者の気分だろうwもしくはそこの部分で開発者に何らかの注文があったんだろ
コマンド置換の部分だけの修正(ソースコードからは気分としか読めないけどw)なのでコマンド置換だけの話、readは関係ない
readに主題置いて聞かれたら、readはコマンド置換じゃないから という返答は特におかしくもない
それだけの話だな

色々読めないくせに、なんか言ってる
正直何言ってるのとしか思えない。マジでそれで自分は日本語が不自由ではないと思っているなら、日本語が不自由すぎだろう。そりゃ色々読めないだろうな

789デフォルトの名無しさん2021/02/03(水) 04:42:00.38ID:BvAjTIO8
>>788

やっぱりなw お前が>>787に反論しなかったのが答えだわ
readは主語じゃない

790デフォルトの名無しさん2021/02/03(水) 04:43:16.91ID:BvAjTIO8
質問文 「なんで(開発者は)readだとこのエラーはださないんだろう?」

>>788のの解釈
質問分の意味は「どうして4.4からコマンド置換のとこでメッセージ出すようになったか」だな!

これだからもうw

791デフォルトの名無しさん2021/02/03(水) 04:49:04.40ID:jQBymAxP
アホな日本語講釈に事細かに反論するのも馬鹿らしいだけなのに

>>728
質問は明らかにこれです。
> なんでreadだとこのエラーはださないんだろう?

こう書いたのはどこぞの誰なんだかな。馬鹿馬鹿しい

以下ずっと。
1.コマンド置換とreadは同じであるはず/あるべきと思った
2.それが間違いだったのに自ら先に返答レスを馬鹿にした
この2つの間違いを決して認められないだけで、下手くそな小手先な誤魔化しを延々と繰り返すんだろうな
ますます馬鹿を晒してるだけなのに

792デフォルトの名無しさん2021/02/03(水) 04:50:13.13ID:BvAjTIO8
> こう書いたのはどこぞの誰なんだかな。馬鹿馬鹿しい

↓これ

> 725 自分:デフォルトの名無しさん[sage] 投稿日:2021/02/01(月) 01:32:52.47 ID:/mOfS3Su
> $ a=$(printf '\0\n')
> -bash: 警告: command substitution: ignored null byte in input
> っていうエラーが出るんだけどさ、これだとでない
> printf '\0\n' | read a
>
> なんでreadだとこのエラーはださないんだろう?
> 誰か理由わかる?

793デフォルトの名無しさん2021/02/03(水) 04:50:50.93ID:BvAjTIO8
レスする前にちゃんと読み返したほうがいいよw

794デフォルトの名無しさん2021/02/03(水) 04:53:12.04ID:jQBymAxP
お前は馬鹿すぎて話にならんぞ
だったら、
readに主題置いて聞かれたら、readはコマンド置換じゃないから という返答は特におかしくもない
でしかないだろう
お前の小手先ごまかしがキチガイすぎて頭痛くなってくるぞ

795デフォルトの名無しさん2021/02/03(水) 04:53:55.08ID:BvAjTIO8
>>794
誰が言ったのか書いたのに、無視すんの?
都合が悪いレスは無視だもんねw

796デフォルトの名無しさん2021/02/03(水) 04:59:06.37ID:jQBymAxP
なに言ってるの?マジキチすぎ
>誰が言ったのか書いたのに、無視すんの?
揶揄とかわからんのかw それに対しての>>794がわからんのか。レスする前にちゃんと読み返したほうがいいよ って言うくせにwww

どうして4.4からコマンド置換のとこでメッセージ出すようになったか
開発者の気分だろうwもしくはそこの部分で開発者に何らかの注文があったんだろ
コマンド置換の部分だけの修正(ソースコードからは気分としか読めないけどw)なのでコマンド置換だけの話、readは関係ない
readに主題置いて聞かれたら、readはコマンド置換じゃないから という返答は特におかしくもない

1.コマンド置換とreadは同じであるはず/あるべきと思った
2.それが間違いだったのに自ら先に返答レスを馬鹿にした
この2つの間違いを決して認められないだけ

でしかないな

797デフォルトの名無しさん2021/02/03(水) 05:01:05.98ID:BvAjTIO8
「どうして4.4からコマンド置換のとこでメッセージ出すようになったか」
それはどれが言ったの?w

質問は明らかにこれです。
> なんでreadだとこのエラーはださないんだろう?

798デフォルトの名無しさん2021/02/03(水) 05:02:33.40ID:jQBymAxP
レスする前にちゃんと読み返したほうがいいよ

www
阿呆らしい...いやアホだけど

799デフォルトの名無しさん2021/02/03(水) 05:04:04.63ID:BvAjTIO8
だから質問は「なんでreadだとこのエラーはださないんだろう?」だろ
これに対して反論なかったんだが?

誰が4.4とかいい出したのか。お前か?
いつから出したとか誰も気にしてないんだが

はい、この質問に答えられる?

800デフォルトの名無しさん2021/02/03(水) 05:05:52.97ID:jQBymAxP
レスする前にちゃんと読み返したほうがいいよ
としか言いようがない

1.コマンド置換とreadは同じであるはず/あるべきと思った
2.それが間違いだったのに自ら先に返答レスを馬鹿にした
この2つの間違いを決して認められないだけ
だけでよくそんだけ小手先の誤魔化しを続けられるな。マジキチすぎだろう

801デフォルトの名無しさん2021/02/03(水) 05:06:58.67ID:BvAjTIO8
> 1.コマンド置換とreadは同じであるはず/あるべきと思った

思ったとか、それはお前の感想でしかない

> 2.それが間違いだったのに自ら先に返答レスを馬鹿にした

「それ」とはお前の感想である

802デフォルトの名無しさん2021/02/03(水) 05:08:08.44ID:jQBymAxP
何でそんなアホな小手先の誤魔化し文書けるの??

803デフォルトの名無しさん2021/02/03(水) 05:09:08.17ID:BvAjTIO8
ほらね。俺が言い返しても、
こいつは言い返してこない。

言い返せないというのが正しいがw

804デフォルトの名無しさん2021/02/03(水) 05:11:25.52ID:jQBymAxP
すぐにそういう馬鹿なこと言うし
アホな小手先の誤魔化し文になんで正面からいつまでも付き合わなきゃならんねん
アホな小手先の誤魔化し文という自覚がないのか?マジキチすぎすぎだろう

805デフォルトの名無しさん2021/02/03(水) 05:13:12.26ID:BvAjTIO8
それにコマンド置換とreadが全く違う動作をすると思ってそうだよなw
違うところがあるのは知ってるからそれは聞いてない
同じ動作をするところがあるのを、はたしてこいつは知ってるんだろうか?w

ま、また関係ない話をしてごまかすだろうな

806デフォルトの名無しさん2021/02/03(水) 05:16:11.71ID:jQBymAxP
後付けて決めつけが始まりましたwww
ソース読んでるし、他のシェルで試してもいるし
イマイチ何のことかだが、こいつだと言い出しそうなのは大体推測できる
こんなこと言い出したのもついさっきわかったとかだろうな。違うか?w

807デフォルトの名無しさん2021/02/03(水) 05:18:11.87ID:BvAjTIO8
ほらね。俺のレスへの言及が一切なし

808デフォルトの名無しさん2021/02/03(水) 05:19:36.98ID:BvAjTIO8
だいたいさぁ command substitution: ignored null byte in input を出すなら、
read: ignored null byte in input も出すべきだって思うだろ
これに関する動作は同じなんだから

多分それも知らなかったんだろうけどな

809デフォルトの名無しさん2021/02/03(水) 05:20:21.08ID:jQBymAxP
レスする前にちゃんと読み返したほうがいいよ

www
いい加減怒るヤツ出るだろうし、誤魔化しに付き合うのももういいってので

どうして4.4からコマンド置換のとこでメッセージ出すようになったか
開発者の気分だろうwもしくはそこの部分で開発者に何らかの注文があったんだろ
コマンド置換の部分だけの修正(ソースコードからは気分としか読めないけどw)なのでコマンド置換だけの話、readは関係ない
readに主題置いて聞かれたら、readはコマンド置換じゃないから という返答は特におかしくもない

1.コマンド置換とreadは同じであるはず/あるべきと思った
2.それが間違いだったのに自ら先に返答レスを馬鹿にした
この2つの間違いを決して認められないだけ

というだけのお話でしたとさw

810デフォルトの名無しさん2021/02/03(水) 05:21:04.31ID:BvAjTIO8
> どうして4.4からコマンド置換のとこでメッセージ出すようになったか

誰もそんな事気にしてない

811デフォルトの名無しさん2021/02/03(水) 05:21:20.27ID:BvAjTIO8
> 1.コマンド置換とreadは同じであるはず/あるべきと思った

同じところがありますね。

812デフォルトの名無しさん2021/02/03(水) 05:22:16.05ID:BvAjTIO8
もうネタバレしてやると

コマンド置換とreadは、どちらも ignored null byte in input は同じなんですよ
どちらも入力のnullバイトを無視してる

813デフォルトの名無しさん2021/02/03(水) 05:27:21.54ID:jQBymAxP
>>779ですでに書かれてることを何を一人悦に入っているのだか
すでに書かれてることを、何自分は知ってるお前(ら)は知らないと言えるんだか
>コマンド置換とreadは、どちらも ignored null byte in input は同じなんですよ
ちょっと違うんだなあ。さてどう違うでしょう?ww

814デフォルトの名無しさん2021/02/03(水) 05:29:11.45ID:BvAjTIO8
違いはありません。どちらも同じように ignored null byte in input します。
英語わかる? 入力のNULLバイトを無視するって書いてあるんだよw

815デフォルトの名無しさん2021/02/03(水) 05:30:22.06ID:jQBymAxP
ふふ~んwww
「ちょっと違う」ことは知らないということね

816デフォルトの名無しさん2021/02/03(水) 05:30:41.09ID:BvAjTIO8
1. コマンド置換とreadはどちらも入力のNULLバイトを無視する
2. 質問は「なんでreadだとこのエラーはださないんだろう?」

これだけなのにreadが主語だ!とか理由わからないことを言って
ずーっと自分の勘違いをごまかしてる

817デフォルトの名無しさん2021/02/03(水) 05:31:53.40ID:BvAjTIO8
>>815
「入力のNULLバイトを無視する」は同じですといいました。
それ以外の点では違うところがあると>>805ですでにいいました。
> 違うところがあるのは知ってるからそれは聞いてない

お前のターン(笑)

818デフォルトの名無しさん2021/02/03(水) 05:32:05.41ID:jQBymAxP
はい出ました、また話題を変えての堂々巡り巡り
レスする前にちゃんと読み返したほうがいいよ

www
一人でやってなさい。じゃね

819デフォルトの名無しさん2021/02/03(水) 05:32:55.92ID:BvAjTIO8
逃げました(完)

820デフォルトの名無しさん2021/02/03(水) 05:35:38.89ID:jQBymAxP
逃げてないよぉ
他の人に怒られるのが嫌なだけだぞw本当にお前は自分がどれほどだと思ってるねん

821デフォルトの名無しさん2021/02/03(水) 05:42:02.60ID:BvAjTIO8
俺がじゃなくて、お前がアスペ

822デフォルトの名無しさん2021/02/03(水) 05:46:48.79ID:jQBymAxP
www

823デフォルトの名無しさん2021/02/03(水) 06:57:20.76ID:nY3Ll5sQ
質問者おいてけぼりで夜通しマウント合戦
きもっ

824デフォルトの名無しさん2021/02/03(水) 08:29:21.99ID:OYjylJSn
質問者おいてけぼりだと思ってるやつがいるらしい
そんなやついないだろう

825デフォルトの名無しさん2021/02/03(水) 08:37:12.75ID:Ah2dOrtc
>>823 に1票

826デフォルトの名無しさん2021/02/03(水) 08:52:34.64ID:E3bCmnaA
嘘くさ

827デフォルトの名無しさん2021/02/03(水) 09:51:45.69ID:gCnP5AIU
反論できなくなって単発IDを出し始めたぞw
>>823とか>>825とか

828デフォルトの名無しさん2021/02/03(水) 11:06:47.70ID:Cm5PGF2y
いつまでこの話題を続ける気だよw

829デフォルトの名無しさん2021/02/03(水) 18:30:45.39ID:BvAjTIO8
>>827
いつものことです

830デフォルトの名無しさん2021/02/04(木) 12:41:51.48ID:Jn7zqfXf
自己紹介

831デフォルトの名無しさん2021/02/07(日) 19:23:43.78ID:95HB2PSV
$find . -type f -name '*.mp4' -exec sh -c "echo /Applications/Safari.app " \;
/Applications/Safari.app
/Applications/Safari.app

$find . -type f -name '*.mp4' -exec sh -c "echo $dirname /Applications/Safari.app " \;
/Applications/Safari.app
/Applications/Safari.app

$dirname /Applications/Safari.app
/Applications
どうして2番目の例ではdirnameが作用していないように見えるのですか?

832デフォルトの名無しさん2021/02/07(日) 19:26:54.39ID:yqZHDrnv
しらんけどダブクォだろ

833デフォルトの名無しさん2021/02/07(日) 19:30:49.83ID:urVbT3ji
$dirname /Applications/Safari.app
だと、dirnameという変数を展開しようとしてるだけだろ
dirnameというコマンドを実行するのではなく

コマンドプロンプトのとちょっと見分けづらいのでちゃんとスペースを置くべきだな

834デフォルトの名無しさん2021/02/07(日) 19:34:34.15ID:/Qje/xZk
何がしたいの?

835デフォルトの名無しさん2021/02/07(日) 19:39:40.46ID:urVbT3ji
さっぱりわからんなw
動作確認の途中なんだろう。findしても同じ結果出すだけだしな
そのうち {} とか入れたりするんだろうが、

実行したいなら $() だろう

-exec sh -c "

-exec sh -c '
でないとマズそうマズいだろうな

な感じかなあ

836デフォルトの名無しさん2021/02/07(日) 20:30:53.02ID:/kKFnkGm
${~} だろ

echo ${dirname}/Applications/Safari.app

837デフォルトの名無しさん2021/02/07(日) 23:59:19.31ID:rB7egHB7
パラメータ展開よりbasename/dirnameコマンドのほうが分かりやすいね

~$ DIR='/ChonChon/Chon.bak'
~$ basename $DIR
Chon.bak
~$ echo ${DIR##*/}
Chon.bak
~$ basename $DIR
Chon.bak
~$ echo ${DIR#*/}
ChonChon/Chon.bak
~$ echo ${DIR##*/}
Chon.bak
~$ echo ${DIR%/*}
/ChonChon
~$ echo ${DIR%%/*}

~$ dirname $DIR
/ChonChon

8388312021/02/08(月) 00:07:37.75ID:vQsk29JM
ありがとうございます
変数になっていることに気づいていませんでした
find -exec sh -cで複数コマンドを扱うのは諦めforを使って解決しました
>>833 スペースをどう置くとどう見分けやすくなりますか?
>>834 質問に関係ある部分だけ抜き出したので意味不明なものになっています

839デフォルトの名無しさん2021/02/08(月) 01:01:47.00ID:mwZivU/L
>>837
わかりやすさ vs 実行速度の話だね
さくっとコマンド入力する時はbasenameでいいけど
シェルスクリプトであればパラメーター展開のほうがいい

840デフォルトの名無しさん2021/02/08(月) 02:02:04.12ID:MxYuS/Yw
>>838
$ find . -type f -name '*.mp4' -exec sh -c "echo $dirname /Applications/Safari.app " ¥;

$ dirname /Applications/Safari.app

841デフォルトの名無しさん2021/02/08(月) 17:24:23.44ID:TrZhHLZT
# sudo apt install xclip
CLIPB=$(xclip -o)
echo $( basename $CLIPB )

842デフォルトの名無しさん2021/02/08(月) 19:08:48.56ID:0fSH6U0R
Ruby なら、glob を使う

# . で始まる、隠し directory, file を除く
glob_pattern = "C:/Users/Owner/Documents/*.csv"

Dir.glob( glob_pattern )
.select { |full_path| File.file?( full_path ) } # ファイルのみ
.each { |full_path| puts full_path }

出力
C:/Users/Owner/Documents/a.csv
C:/Users/Owner/Documents/b.csv

843デフォルトの名無しさん2021/02/08(月) 19:27:57.47ID:5qp7IeLu
すでにroot

844デフォルトの名無しさん2021/02/08(月) 19:29:24.19ID:5qp7IeLu
Rubyなら~
C:/
特異すぎ

845デフォルトの名無しさん2021/02/08(月) 20:15:13.87ID:luijRT1t
なぜ定期的にRubyが出てくるのか

8468422021/02/08(月) 20:50:44.33ID:0fSH6U0R
シェルスクリプトも、Windows 10, WSL2, Ubuntu 18.04, VSCode でやってる

Ruby は、Linux用・Windows用の両方を入れてる

847デフォルトの名無しさん2021/02/08(月) 20:53:25.78ID:kogF3g22
>>845
久しぶりだけどなw
なんて言われてるかは上の方であるな
トンチンカンなレスしてるとこからもトンチンカンな承認欲求なんだろう

8488312021/02/09(火) 16:10:25.08ID:KQyT9obu
>>840
ありがとうございます

849デフォルトの名無しさん2021/02/10(水) 14:26:08.93ID:BVEov/zu
Alpine?busyboxってコマンド追加した場合の競合どうなってるんですかね?
たとえばdateがGNU版と挙動が違うのでcoreutils追加したんですけど
元々/bin/dateだったのが追加後も/bin/dateのままなのに呼び出されるのはしっかりcoreutilsのに変わってます
macではdateとgdateで使い分けられたのでモヤモヤします

850デフォルトの名無しさん2021/02/10(水) 15:19:36.03ID:kdTQDXtx
汎用ではなくカスタマイズした環境前提だからそんなの気にしない
置き換わっても置き換わるのを知って作るそういう独自の環境を自ら望んで作る

851デフォルトの名無しさん2021/02/10(水) 18:01:20.69ID:BVEov/zu
そういうものなんですねありがとうございます!

852デフォルトの名無しさん2021/02/10(水) 20:16:55.68ID:kDXEbzyj
>>849
ディストリの方針次第。Debianとかだってvim-tinyを入れるか
通常のvimを入れるかで呼び出されるvimが変わる
どちらを使うかの切り替え機能も持っている

パッケージで入れる分には、入れても動作するように作られてる
パッケージで入れて壊れたらそれはディストリのバグ

Debianなんかはbusyboxを入れてもデフォルトで置き換えたりしない
alpineはbusyboxの方がデフォルトなんだから、それで動くように作られてる
それをcoreutilsに変更しても動くように作られてるだろう

macの場合、gdateを入れるのはサードパーティのHomebrew
Apple社と一切関係ないフリーソフトで、Appleは動作保証もしてないのだから
Homebrewはデフォルトで置き換えたりしない。壊れる可能性があるから
dateを置き換えられないだけで使い分ける方が便利なわけではない

そもそもbusyboxはcoreutilsのコマンドと比較して一部の機能が
実装されてないだけで、実装されてる機能に関しては互換性があるように作られてる
しかしMacのdateはBSD版なのでgdateと互換性がない

853デフォルトの名無しさん2021/02/12(金) 23:49:25.35ID:0z7QwFq3
超高速なシェルって登場しないもんかね?
JITエンジン搭載して最適化とかガシガシやるようなやつ

854デフォルトの名無しさん2021/02/13(土) 09:35:59.06ID:3MHGVgjG
>>853
それはスクリプト言語の高速化、とはちがうのけ?

855デフォルトの名無しさん2021/02/13(土) 11:22:13.76ID:scVpGKPS
>>854
お前の言うスクリプト言語の高速化が何のことかわからんって

856デフォルトの名無しさん2021/02/13(土) 15:47:07.99ID:Ieh1QGrP
>>855
各自適当に当てはまると思うのを挙げてもらえばいいと思ったんだがw
じゃあ例えばPythonの各種実装でいいけども。
そしてJITだけが高速化の技術ではないけども。

857デフォルトの名無しさん2021/02/13(土) 15:50:58.00ID:scVpGKPS
超高速なシェルって~という質問に対して
スクリプト言語の高速化とは違うのけと言われてもね

飴がほしいに対して
キャンディーとは違うのけと言うようなもんだよ
お前は何がいいたいのか

858デフォルトの名無しさん2021/02/13(土) 16:12:05.01ID:ZrAw7sjN
思慮が浅いからわからんのだろう
思慮が浅いからトンチンカンな疑問が湧くのだろう

859デフォルトの名無しさん2021/02/13(土) 16:14:48.15ID:Ieh1QGrP
>>857
じゃあ最初から「ちがうのけ」に対して「ノー」と言えよw
どうしてもシェルじゃないといけないのかの確認だったのだが。
もうどうでもいい。

860デフォルトの名無しさん2021/02/13(土) 16:20:51.53ID:scVpGKPS
各自適当に当てはまるといっておきながら何を言ってるんだ?

(俺の定義に当てはまるものは)ノーだ

これでお前は何のことかわかるのか?

861デフォルトの名無しさん2021/02/13(土) 16:44:38.58ID:IQ0h7Vrd
これはいつものやつ

862デフォルトの名無しさん2021/02/13(土) 16:46:14.65ID:scVpGKPS
俺もそう思った

863デフォルトの名無しさん2021/02/13(土) 16:50:09.98ID:IQ0h7Vrd
いやお前がなんだが
いつものやつもそういうレスを前にいくつかしてたからなおだな

864デフォルトの名無しさん2021/02/13(土) 16:52:14.62ID:scVpGKPS
俺は違うぞ?何を言ってるんだか

865デフォルトの名無しさん2021/02/13(土) 16:58:17.73ID:IQ0h7Vrd
じゃあ、そういうように見えるから気をつけたほうがいいな
なぜかいきなり喧嘩腰になる>>857とか、全然意図を読めずにまだマウント取るのがメインのような>>860とかな
本当に違うんだったら、すまんかった。本当に違うなら

866デフォルトの名無しさん2021/02/13(土) 21:13:09.13ID:2KIaYprT
超高速なシェルって言ってもどこを高速化したいのか分からんね
他のスクリプト言語と違ってプロセス起動を平気でやる性質があるから
JIT実装したところで、ねえ……

867デフォルトの名無しさん2021/02/13(土) 21:18:19.57ID:GplYrMVz
>>865
>本当に違うんだったら、すまんかった。本当に違うなら
くっワロタ

868デフォルトの名無しさん2021/02/13(土) 21:48:07.63ID:TtDJ0hV3
>>866
だよな
だから誰も必要としてないから誰も作ろうともしない、
シェルスクリプトの長い歴史から見ても
変わった人(いい意味で)がやろうと出ても企画倒れかな

869デフォルトの名無しさん2021/02/14(日) 01:27:13.76ID:u5RUQBwf
デーモン起動とかにも使われるシェルスクリプトは、速さよりもちょっとでも軽いほうがええやろ。
JITなんかにメモリを使う余裕はないな。

870デフォルトの名無しさん2021/02/14(日) 14:36:19.88ID:kcgt6YrO
デーモンとかに使うのは素の/bin/shで、言う通り軽い方なのが採用されてるだろう
JIT云々はそういうのではないのだろう。今あるbashとかzshとかそういう方向の

871デフォルトの名無しさん2021/02/14(日) 15:27:49.90ID:PhDiV4m5
シェルスクリプトの高速化って結局、exprに対する$()みたいな、外部コマンドの組み込みコマンド化が原則になると思うけど、
それで行き着く先ってPerlでしかないよね

まあRob Pikeの言う通り計測しろって話ではあるので、ボトルネックが実際fork/waitじゃなければまったくの的外れだけど

872デフォルトの名無しさん2021/02/14(日) 18:02:37.21ID:zXgJS0zG
シェルで使えるってだけならRUSTが速そうだけど

873デフォルトの名無しさん2021/02/14(日) 23:21:01.83ID:Xb0b89w4
>>871
JavaScriptの言語仕様を見ればわかるけど
JavaScript自体ではファイルの読み書きはできないんだよ
つまりI/Oを伴う機能は言語仕様としては本質的に不要と言える

外部コマンドなんて殆どがI/Oなので、それらを組み込む必要はない
Perlは多数組み込んでるので良くない

JavaScriptと同じように、I/Oを必要としないものは
シェル組み込みとして、メモリ計算処理を高速化すればいい
例えばメモリだけでできる単純な値比較や計算だけでもシェルは遅い

874デフォルトの名無しさん2021/02/14(日) 23:39:01.27ID:u5RUQBwf
>>873
おまえ、いつものポジキチやろ?

875デフォルトの名無しさん2021/02/14(日) 23:58:12.52ID:Xb0b89w4
>>874
違うけど、お前はいつもの「ポジキチと争ってるやつ」ってことは確定かなw

876デフォルトの名無しさん2021/02/15(月) 00:59:58.92ID:DbVx2um6
争ってるがどこまでを指しているのかわからんが、反論してるのは複数居るだろう
確定しても意味なさげw

877デフォルトの名無しさん2021/02/15(月) 01:11:01.23ID:Yv9X0Du7
>>873
ブラウザというホスト環境にのせるために考えられた言語だからI/Oがないだけ
ホスト環境がI/OやEvent Loopを補完しないと動かないし役に立たない

そういう種類の言語の仕様にI/Oがないからといって
一般的なプログラミング言語仕様にI/Oが本質的に不要なわけない
I/O無しではどんなプログラムも役に立たないから

878デフォルトの名無しさん2021/02/15(月) 01:12:58.43ID:DbVx2um6
JavaScriptは元々はブラウザ上で動くが発端だからな
勝手にどこぞからロードしてユーザの意思に関係なく勝手に動くプログラムだからな
ローカルファイルにアクセスなんて自由にできたらどうなるか火を見るより明らか
ていうのがあって、何言ってんだかなという>>874じゃないのかな。知らんけどw

879デフォルトの名無しさん2021/02/15(月) 01:13:50.12ID:DbVx2um6
あ、なんか被ったw

880デフォルトの名無しさん2021/02/16(火) 03:00:19.59ID:An9FQZDm
>>877
C言語にも、I/Oないよ

881デフォルトの名無しさん2021/02/16(火) 03:21:55.67ID:jKfE5F96
>>880
だから、#includeだったりリンカオプションだったり、めんどくさい準備が必要なんだけどな。

882デフォルトの名無しさん2021/02/16(火) 06:35:07.01ID:ZcpmZlC/
関係ないだろ

883デフォルトの名無しさん2021/02/16(火) 10:30:49.70ID:2fDc5cBr
>>880
嘘ついちゃだめ

884デフォルトの名無しさん2021/02/16(火) 10:43:13.65ID:ZcpmZlC/
言語とライブラリの区別をつけたほうが良いと思うよ

885デフォルトの名無しさん2021/02/16(火) 11:56:09.07ID:VrzH5GTZ
C言語を持ち出すのはアセンブリに無いと言っているようなもんだな
どういう意味かわかるかな?

886デフォルトの名無しさん2021/02/16(火) 12:22:40.92ID:jKfE5F96
>>885
わからん。w
自分でもわかってないやろ?

887デフォルトの名無しさん2021/02/16(火) 13:03:01.94ID:VrzH5GTZ
アセンブリ言語に無いのは当たり前なのはわかるね?
でもアセンブリでもファイルI/Oはできるよね?
C言語はアセンブリに近しい言語だというのはわかる?
だったら「言語仕様」としては無いのは普通と言える
アセンブリでファイルI/Oはアセンブリで記述したライブラリ(サブルーチン)を用いるのと同じように

てか「言語仕様」としては無いが、原典である K&R C でもすでにファイルI/Oに関しては記述があるし、
それに則っての標準としてのライブラリが「必ず」あるだろうから、言語仕様としてないあれはライブラリというのは無理筋だな

プログラミング言語だからとどれも一緒の扱いにするのが間違いでもあるな

888デフォルトの名無しさん2021/02/16(火) 13:06:51.96ID:VrzH5GTZ
>>887
>それに則っての標準としてのライブラリが「必ず」あるだろうから
ああ、無いのもあるか。有名なOSで
まあ、そういう独特なのも独特のファイルI/Oは必ずあるってことでw

889デフォルトの名無しさん2021/02/16(火) 16:08:25.47ID:An9FQZDm
>>885
例えば8086のOUT命令はアセンブリにないことになってるの?

890デフォルトの名無しさん2021/02/16(火) 16:14:30.97ID:jKfE5F96
>>887
ただの決めつけを根拠にしているから、理屈があやしいな。w

まあ、おまえはまず「フリースタンディング環境」について調べろ。
IOはあるのが当然、ではない。

891デフォルトの名無しさん2021/02/16(火) 16:32:25.56ID:VrzH5GTZ
>>889
OUT命令ってなんなのか知ってるのかっていう
対象はチップのポートだぞ

>>890
そのフリースタンディングでもフリースタンディングではI/Oは無いとは言ってないだろ
C言語の元といえば K&R C Program Language であり、それに標準ライブラリはあると書いてある
ないとこは標準ライブラリがない環境でCを持ってきてるある意味派生であるはずの標準ライブラリが無いだけだな

892デフォルトの名無しさん2021/02/16(火) 16:47:09.77ID:VrzH5GTZ
初版とかどうなのかと思い探したらあった。いいないんたーねっつは

CHAPTER 7: INPUT AND OUTPUT

Input and output facilities are not part of the C language, so we have
de-emphasized them in our presentation thus far. Nonetheless, real pro-
grams do interact with their environment in much more complicated ways
than those we have shown before. In this chapter we will describe “the
standard I/O library,” a set of functions designed to provide a standard I/O
system for C programs. The functions are intended to present a convenient
programming interface, yet reflect only operations that can be provided on
most modern operating systems. The routines are efficient enough that
users should seldom feel the need to circumvent them “for efficiency”
regardless of how critical the application. Finally, the routines are meant to
be “portable,” in the sense that they will exist in compatible form on any
system where C exists, and that programs which confine their system
interactions to facilities provided by the standard library can be moved from
one system to another essentially without change.

We will not try to describe the entire I/O library here; we are more
interested in showing the essentials of writing C programs that interact with
their operating system environment.

893デフォルトの名無しさん2021/02/16(火) 16:51:36.76ID:VrzH5GTZ
K&R The C Program Language が Cの原典ではないというなら話にならないからもう知らないw
フリースタンディング環境とやらののうちのどこぞの環境でファイルI/Oがないなんて、>>888と似たようなもんだろうとしか思えない

894デフォルトの名無しさん2021/02/16(火) 16:59:57.69ID:VrzH5GTZ
>>891
>I/Oは無い
ファイルI/Oは無い
ね。一応訂正させていただきます

895デフォルトの名無しさん2021/02/16(火) 20:04:17.80ID:jKfE5F96
なぜC言語の話が出るのか?
なぜアセンブリの話が出るのか?
と飛躍がありすぎて、なんの話なのか、まったくわからん。w

>>893
K&Rなんか、今となっては怪しい歴史書やろ。w
記紀とか聖書とかから現実を語ることはできまい。

896デフォルトの名無しさん2021/02/16(火) 20:43:15.59ID:K7YXHG1n
自分のそれ関連でレスしておいて何言ってんだか

897デフォルトの名無しさん2021/02/16(火) 20:46:48.66ID:K7YXHG1n
かと思ったら、以下も何言ってんだかだよ
冗談で逃げただけか??
マジならお前がそう思うならそうなんだろな、お前の頭の中ではなんとかかんとかw
見損なったのぞお前w

898デフォルトの名無しさん2021/02/16(火) 21:04:42.04ID:fDzgwbS2
シェルスクリプトスレはいつ見ても
キチ vs キチのマウンティング合戦
サル山でもこうはならない

899デフォルトの名無しさん2021/02/16(火) 21:26:41.96ID:ZcpmZlC/
シェルスクリプトではライブラリに相当するものは外部コマンド

900デフォルトの名無しさん2021/02/17(水) 02:52:50.69ID:1QKhelwr
そうよ
だからそれをブラックボックスとして扱うんだ

901デフォルトの名無しさん2021/02/17(水) 03:06:40.89ID:1QKhelwr
逆に全然枯れてないし俺環上等で本業のジョブ管理に役立つツールの話はもっとするべきだと思う
gnu parallelとかcoprocとか

902デフォルトの名無しさん2021/02/17(水) 03:13:44.11ID:PIB5BTik
gnu parallel使うぐらいなら自力実装したほうが楽だと思うわ
coprocは知ってるけど使う理由が見当たらない

903デフォルトの名無しさん2021/02/18(木) 09:30:54.83ID:oVgZds3b
シス管やデータサイエンティストとかのparallelヘビーユーザーではないんで効率は気にしてないけど、まあ変な文字の扱いが良くなったxargsとして便利だと思う
配るスクリプトならより普及してるxargsに置き換えた方が良いと思うけど
Perl実装だしいっそ同梱もありだと思うが

904デフォルトの名無しさん2021/02/18(木) 09:35:31.03ID:sRdwF113
ライセンス問題ないならね

905デフォルトの名無しさん2021/02/18(木) 09:43:20.87ID:qR1rH4Mn
だから並列処理ぐらい自分で実装しろよw

906デフォルトの名無しさん2021/02/18(木) 09:50:29.23ID:sRdwF113
バイオ系のやつが使ってるけどddで割って割り当てると朝には落ち出るとか
情報出身じゃないのでなんか変な事してる可能性はあるが

907デフォルトの名無しさん2021/02/18(木) 09:56:32.04ID:qR1rH4Mn
落ち出るのかソレは大変だな

908デフォルトの名無しさん2021/02/18(木) 09:56:32.14ID:TY4RxIDt
ローカルな並列処理はmakeでいいわ
途中で止めても簡単に再開できる

909デフォルトの名無しさん2021/02/18(木) 10:15:23.24ID:sRdwF113
>>905
ちゃんとスケジュールするの割と大変じゃね?
フォアグラウンドでジョブ走らせたから別端末からアタッチ、5秒毎にpsしてコアの稼働率グラフ作ったが、シヌソイドみたいに振動してる
局所性とのTradeオフがあるから単に分ければいい訳じゃない
一度アフィニティー設定したら終わりじゃなくて、スループット監視しながら、少なくともPID制御程度のロジックは書かなきゃならんだろ

910デフォルトの名無しさん2021/02/18(木) 11:02:26.51ID:sRdwF113
>>908
欲張ってパイプ繋げて失敗するのあるある
だからと言ってteeでディスクに中間結果流すとボトルネックになるし

でもバッファリングを乗っ取ってコマンド実行するstdbufを最近知って捗った
二段以上繋ぐと前後のバッファリングモードの影響をモロに受けてた、特にいつも両脇挟まれるteeが…
コマンドがputc連打してるのか、printfにちゃんと改行付けてるのか、と調べるよりオプション全部試した方が早いね

911デフォルトの名無しさん2021/02/18(木) 11:04:00.77ID:sRdwF113
make色々活用してる人居るよな
試してみる、ありがとう

912デフォルトの名無しさん2021/02/21(日) 04:01:15.96ID:N+CZPwAr
>>902
coproc cmdだけで対話的に様子見たり追加で入力送って修整したりできるのが便利じゃないかな
スクリプト向けじゃなくてインタラクティブ向け

913デフォルトの名無しさん2021/02/21(日) 12:39:32.90ID:kbkbRMiR
シェルスクリプトってPOSIX準拠っていうか/bin/shを使うと
/bin/shの実体がいろんなシェルの場合があるから互換性問題に悩まされるな

bashだけしかなければ互換性問題に悩まされることはないが
交換可能性がある(つまりbashと同等の別の実装)があると
互換性問題に悩まされて、いろんなシェルに対応しようとすると
保守や移植のコストが増大してしまうな

914デフォルトの名無しさん2021/02/21(日) 13:50:25.30ID:lCWmWEmE
いわゆるbashismはUbuntuが/bin/shをbashからdashに変えてシステムの数あるスクリプトが動かないがあるのに気づいたのが発端でしかない
dashに変えたのはただ軽いからという理由でしかないし、dashに対応もしくはシバンを適切にという対応が終わってしまってる
いろんなシェルに対応しようとするというニーズはきわめて限られてるか、ただの空想だろな

915デフォルトの名無しさん2021/02/21(日) 23:37:24.17ID:D6Gyi0vA
POSIX準拠すれば可搬性があるって言うけどあれ嘘なんだよね
そもそもシェルが完全にPOSIXに準拠してるわけじゃなくて互換性がないから
/bin/shを使ったとしても強制的にbashを使わされる環境ある

もちろん互換性がまったくないとは言わないよ
でもPythonのバージョンが違っていて動かなくなったって話と同じぐらい
別のシェルで動かなくなったって話がでる

916デフォルトの名無しさん2021/02/21(日) 23:47:08.70ID:O3wCOSqq
bashはアプリと思ってわざわざインストールするものと
思えばいいんじゃ
高機能でメモリ食う
たまたまshとかぶってる

917デフォルトの名無しさん2021/02/22(月) 00:00:35.75ID:04l4cBcD
>>915
可搬性はある
だが、Write once, run anywhere ってことは絶対ではない
もしかしたら問題が起こることもあるが、そんな場合でも修正はそうでないより少なくて済む
くらいなかな

918デフォルトの名無しさん2021/02/22(月) 00:29:31.87ID:Vv8+u1qd
POSIX準拠はOKだけど、POSIXコマンド縛りはアホなんだよな
例えば普通にgawkを使えばいい

gawkが提供する機能はPOSIXのawkの機能を超えていて一部互換性はないけど
gawkのソースコード自体はPOSIX準拠なんだから
どのOSでもインストールすれば使うことが出来る。

POSIXコマンド縛りは言い換えれば、インストールしない縛りでしかなくて
便利なものをインストールしないなら、開発コストが上がりますよという話

いろんな環境に移植されてる便利なコマンド(bashとかgawkとかgsedとか)を
インストールしてOKという前提に立てば、それらを使ったほうが
移植性を犠牲にすること無く開発コストは下げられる

919デフォルトの名無しさん2021/02/22(月) 00:33:24.80ID:Vv8+u1qd
あとPOSIXコマンド縛り(インストールなし縛り)にすれば20年後でも動くぜ
ただし開発コストが上がるから、弊社が作った独自コマンドをインストールしろよな!
っていうのは矛盾しまくりw

そんな独自コマンドをインストールするなら
各OSに広く移植されてるコマンドをインストールしたほうがいい
例えばrubyとかpythonとかな

920デフォルトの名無しさん2021/02/22(月) 00:43:28.47ID:CFqWxJ8Z
そう無闇に否定するのも無闇にPOSIX準拠を押し付けるのと変わりないな

921デフォルトの名無しさん2021/02/22(月) 00:49:11.43ID:Vv8+u1qd
むやみに否定してるんじゃなくて
理由を言いながら否定してるから問題ないでしょ?

922デフォルトの名無しさん2021/02/22(月) 00:50:52.03ID:CFqWxJ8Z
否定したいだけというのを無闇にという

923デフォルトの名無しさん2021/02/22(月) 00:53:08.85ID:Vv8+u1qd
https://dictionary.goo.ne.jp/word/%E7%84%A1%E9%97%87/

1 結果や是非を考えないで、いちずに物事をすること。また、そのさま。「―な約束はしない方がよい」
2 物事の状態が度を超えて甚だしいさま。ひどい。「―に金がかかる」

どちらにも当てはまらない

924デフォルトの名無しさん2021/02/22(月) 00:55:37.40ID:CFqWxJ8Z
結果や是非を考えないで、いちずに物事をすること
に当たるだろうwわかりやすくいうと非しか考えてないだな

925デフォルトの名無しさん2021/02/22(月) 00:56:39.64ID:Vv8+u1qd
結果や是非を述べて否定してるだろ?

926デフォルトの名無しさん2021/02/22(月) 00:58:09.47ID:CFqWxJ8Z
是非があるのに非しか言ってないという自覚がないんじゃ話にならない
その読めなさは

927デフォルトの名無しさん2021/02/22(月) 00:58:51.57ID:Vv8+u1qd
もう一回述べるか?

POSIXコマンド縛りをしないほうが
高い移植性に加えて開発コストの削減を実現できるのだから
POSIXコマンド縛りはアホ

928デフォルトの名無しさん2021/02/22(月) 01:00:10.74ID:CFqWxJ8Z
無闇だなww
話が通じないのはわかった

929デフォルトの名無しさん2021/02/22(月) 01:00:15.42ID:Vv8+u1qd
>>926
是非を考えるっていうのは、
是と非の両方を言うって意味じゃないぞw

是と非の両方を「考える」という意味だ
考えた結果、POSIXコマンド縛りはアホというのが結論だ

930デフォルトの名無しさん2021/02/22(月) 01:01:23.37ID:CFqWxJ8Z
POSIX準拠には利点もあるし欠点もある
適時もしくは各々の好みで好きにしろってだけだな

931デフォルトの名無しさん2021/02/22(月) 01:02:56.43ID:Vv8+u1qd
POSIX準拠じゃなくてPOSIXコマンド縛りなw
POSIX準拠だとgawkのソースコードもPOSIXに準拠してるだろ

じゃあお前がPOSIXコマンド縛りの是非を考えて
是となる部分を言えばいいじゃん
何も言ってないのはお前の方だぞ

932デフォルトの名無しさん2021/02/22(月) 01:04:37.72ID:CFqWxJ8Z
>>829
わかった?
わからんだろうけど。今だに是非を自分の都合の良い視点でしか理解できないみたいだからなあ
言いたいこと言ったのでおしまいおしまい

>>831
やっぱりわからんかったか。てかいつもの話題変えるのか
POSIX準拠の利点とそう変わらないだろうに。わからんのね

933デフォルトの名無しさん2021/02/22(月) 01:06:46.96ID:Vv8+u1qd
いいから早くPOSIXコマンド縛りの
是の部分を言えよw

934デフォルトの名無しさん2021/02/22(月) 01:07:15.01ID:Vv8+u1qd
918 名前:デフォルトの名無しさん[sage] 投稿日:2021/02/22(月) 00:29:31.87 ID:Vv8+u1qd [1/9]
POSIX準拠はOKだけど、POSIXコマンド縛りはアホなんだよな
例えば普通にgawkを使えばいい

935デフォルトの名無しさん2021/02/22(月) 01:08:23.33ID:CFqWxJ8Z
>POSIX準拠の利点とそう変わらない
これがわからないんだったら語る資格はない
俺はあんたのママではないぞ
もう全て語ってるからあとはあんた次第、頑張れ

936デフォルトの名無しさん2021/02/22(月) 01:13:01.92ID:Vv8+u1qd
「POSIXコマンド縛りの是の部分を言え」

という言葉の意味がわかりませんか?

937デフォルトの名無しさん2021/02/22(月) 01:23:33.23ID:Vv8+u1qd
POSIXにはPOSIX socketやPOSIX スレッドなど多くのAPIを含んでいるが
POSIXコマンドはPOSIX全体のごく一部しか利用しておらず
POSIXコマンド縛り=POSIXの一部しか使えない制限 という意味でもある

POSIX(C言語中心のOSとのインターフェース)は必要だから作っれたけだが
POSIXの一部しか使えないPOSIXは、必要なものが使えないということを意味する

938デフォルトの名無しさん2021/02/22(月) 01:25:24.66ID:Vv8+u1qd
訂正

POSIX(C言語中心のOSとのインターフェース)は必要だから作られたわけだが
POSIXの一部しか使えないPOSIXコマンドは、必要なものが使えないということを意味する

939デフォルトの名無しさん2021/02/22(月) 01:30:49.08ID:hF/C7ALs
POSIX準拠にはPOSIXで規定されたコマンドおよびコマンドのオプションだけを利用することを規定してるのもあるな

940デフォルトの名無しさん2021/02/22(月) 02:19:05.57ID:Vv8+u1qd
> 規定してるのもあるな

なんの話してるんだよw

そんなものないって言ったら
あるって言って証拠出してくれるんだよな?

941デフォルトの名無しさん2021/02/22(月) 02:37:55.58ID:96ZdxkXC
キチガイがまた暴れてる

942デフォルトの名無しさん2021/02/22(月) 03:05:20.65ID:pc9xVD8t
gawkやRubyなんかを使うくらいならPerlを使うべき。
異論の余地はない。

943デフォルトの名無しさん2021/02/22(月) 04:19:52.69ID:Ti3ZPwKy
簡単なシェルスクリプトならググらず書けるようになった新参者だけど、
オプションの法則に統一性ないのが一番解せないわ
ショートオプションはハイフンの後が一文字っていうけどfindの-typeからして守ってないしさ
wgetにも-nvがあるけど既に形骸化してんの?

944デフォルトの名無しさん2021/02/22(月) 05:47:22.05ID:Vv8+u1qd
>>942
適切なツールを使いましょうってだけ
コマンドを組み合わせて使うなら
シェルスクリプトが一番適切
他のどの言語もコマンドを組み合わせて使うのには適していない

>>943
一部のコマンドに変なオプションがあるだけだよ
開発者がよく知らずに実装してしまっただけ

945デフォルトの名無しさん2021/02/22(月) 12:30:54.33ID:CSMFeOjN
メモリが安価になったという意味で時代は変わったんだから
組込含めてdashを選ぶ必要性はないでしょ

POSIX準拠なんてかつては大衆芸能だったが今では伝統芸能で
保存対象になるつつある歌舞伎みたいなもんだよ

946デフォルトの名無しさん2021/02/22(月) 13:38:19.02ID:DHZuB9bv
>>945
文句はディストリ屋に言ってくれ
Debian/Ubuntuはdashを選んでるし
Alpineはbusyboxを選んでるんだ
嫌でもdashやbusyboxを使わないといけないんだだよ

947デフォルトの名無しさん2021/02/22(月) 13:42:31.76ID:pc9xVD8t
>>943
ロングオプションなんかぐにゅの後出しみたいなもんやし、互換性のほうが重要やし、しゃあない。
統一性を期待するもんでも、守る守らないを議論するもんでもない。

コマンドラインの世界は、ただ混沌を受け入れるのみ。。。

948デフォルトの名無しさん2021/02/22(月) 14:06:32.02ID:G00ce5gO
ロングオプションっていうかハイフン2個で始まるオプションに関しては統一されてる
変なオプションがあるのはハイフン1個で始まるやつ

もし今からオプションを規格化するとしたら、俺なら
-で始まるのは一文字のオプションだけ。オプションの引数はなし
--で始まるのはロングオプションで、オプションの引数はあって無くてもよいが
ある場合は --long=value みたいに必ずハイフンでつなげること
--long value形式は無しってルールにするだろうな

そうしないとオプションの解析は面倒くさすぎる

949デフォルトの名無しさん2021/02/22(月) 14:28:14.65ID:7dAnGrvt
2020年代にもなってオプション解析を自前でやらなきゃいけないという時代錯誤感よ

950デフォルトの名無しさん2021/02/22(月) 14:49:21.32ID:G00ce5gO
自分でやりたくないならライブラリでも使えば?

951デフォルトの名無しさん2021/02/22(月) 14:53:50.85ID:pc9xVD8t
>>948
今さら「俺」ルールなんかいらんわ。w

https://linuxjm.osdn.jp/html/LDP_man-pages/man3/getopt.3.html

もっとも、これを使うも使わないも、個々の自由。。。

952デフォルトの名無しさん2021/02/22(月) 19:20:10.80ID:G00ce5gO
>>951
俺ルールじゃなくて、既存のルールのサブセットだけどな
まあ知らない人にとっては特殊なルールに見えるんだろうね

953デフォルトの名無しさん2021/02/22(月) 21:20:04.93ID:CSMFeOjN
>>946
シェバンに/bin/bash、 debian/control に Depends: bash って書くがよい

954デフォルトの名無しさん2021/02/22(月) 21:48:09.71ID:G30bzgiW
何か作業しようとするときにログインがbashかそうでないかは重要

955デフォルトの名無しさん2021/02/22(月) 22:36:34.00ID:pc9xVD8t
>>952
それが「俺ルール」なんだっつーの。
アホなの?w

956デフォルトの名無しさん2021/02/22(月) 22:47:21.38ID:DTTWlGhR
>>952
すでにデファクトスタンダードになってるだろう、>>951のがあるんだから「俺なら」ってのはいらないって話じゃないの
シェルスクリプト用には>>915を用いたのがになるだろうし
「俺なら」がGNUとBSDの違い(があるなら)を勘案してのかと思ったら、解析は面倒くさすぎるって言ってるから違うっぽいかな

957デフォルトの名無しさん2021/02/22(月) 22:54:09.71ID:G00ce5gO
>>951はC言語のインターフェースじゃんw
ロングオプションにも対応してないし

958デフォルトの名無しさん2021/02/22(月) 23:05:43.02ID:DTTWlGhR
よく読め。色々よく読め

959デフォルトの名無しさん2021/02/22(月) 23:05:58.69ID:UEjjQNjA
シェルで標準的に使われてるのってgetoptかgetoptsじゃないの?
どっちも微妙だけど

960デフォルトの名無しさん2021/02/22(月) 23:33:06.17ID:gzMW+qbC
getoptはPOSIX準拠じゃないうえにMacで挙動が違うしな

961デフォルトの名無しさん2021/02/24(水) 21:20:00.07ID:5t0N0rwK
現行ディレクトリ直下にあるファイルを日付順に処理したい。
dateの-dオプションと'%s'書式を使ったやりかた
(-dオプションにlsの出力の日付欄を渡して,%s書式でsortに回しやすい形式に変換する)
は思い付くのだが,できればもうちょっと汎用性のあるやりかたでやりたい。
それこそAlpine Linuxでもできるようなやりかた,せめてSUS準拠くらいで。

962デフォルトの名無しさん2021/02/24(水) 21:42:59.94ID:MoKQog7D
lsでソート出力すればいいじゃん

963デフォルトの名無しさん2021/02/24(水) 22:44:33.75ID:2EpFMX6w
Alpine LinuxだのSUS準拠だの言ってるくせに...

964デフォルトの名無しさん2021/02/25(木) 00:58:03.42ID:YHeeVxEb
>>962
lsで日付順ってできたっけ。
しかもaccessとかmodifyとか色々あるけど。

965デフォルトの名無しさん2021/02/25(木) 01:17:21.10ID:/S7F+Ehi
最近はマニュアル読まないで人に聞く豆腐が増えたよな

966デフォルトの名無しさん2021/02/25(木) 02:03:25.10ID:4mFpqJjx
Alpine LinuxだのSUS準拠だの言ってるくせにこのザマとは

967デフォルトの名無しさん2021/02/25(木) 02:26:19.35ID:4mFpqJjx
Unix Version 1 からあるな
逆順は System III にはあるな
興味があって探してみたらあるもんだな

968デフォルトの名無しさん2021/02/25(木) 02:45:06.54ID:4mFpqJjx
逆順は Unix Version 4 からだな
本当に探せばあるもんだなぁ

969デフォルトの名無しさん2021/02/25(木) 08:48:17.15ID:d+c5dEfq
posix ls でググってから質問しろよ

970デフォルトの名無しさん2021/02/25(木) 09:20:54.75ID:ZyJLXTlk
次スレ

シェルスクリプト総合 その36
http://2chb.net/r/tech/1614212414/

971デフォルトの名無しさん2021/02/25(木) 12:34:26.08ID:lhusjOX+
ls lt(r)じゃ駄目なのか

972デフォルトの名無しさん2021/02/25(木) 14:28:26.85ID:YHeeVxEb
だれも**なぜか**具体的なこと教えていないので私が。
> -c
> Use time of last modification of the file status information (see XBD <sys/stat.h>) instead of last modification of the file itself for sorting ( -t) or writing (-l).
というわけでPOSIXに従うならls -ct1とかで一覧表示して,
xargs(1)で処理するのはどうかな。

まあ改行を含むファイル名には対処できないが。

973デフォルトの名無しさん2021/02/25(木) 14:29:24.68ID:o6/HxSuB
lいらなくね

974デフォルトの名無しさん2021/02/25(木) 14:31:49.73ID:o6/HxSuB
わざとなのかなんなのか

975デフォルトの名無しさん2021/02/25(木) 14:52:14.25ID:AentelGa
壮大な自作自演

976デフォルトの名無しさん2021/02/25(木) 15:20:30.62ID:o6/HxSuB
ぽいな。マジっぽいしな

977デフォルトの名無しさん2021/02/25(木) 15:39:02.71ID:YHeeVxEb
>>973
え,lなんてどこにある?

978デフォルトの名無しさん2021/02/25(木) 15:46:39.14ID:v3k9zwrF
自作自演でなくても自意識過剰なやつw

979デフォルトの名無しさん2021/02/25(木) 17:28:29.42ID:/S7F+Ehi
Q: 現行ディレクトリ直下にあるファイルを日付順に処理したい。

A: lsでソート出力すればいいじゃん

人にものを教えてもらった時は「ありがとうございました」だろ

980デフォルトの名無しさん2021/02/25(木) 18:29:23.70ID:Le6oxEMx
利奈みんとbotっていい加減停止してほしい
過去の質の悪い情報を、何度も繰り返しツイートすんな

981デフォルトの名無しさん2021/02/26(金) 04:40:12.26ID:pzzMEm8u
Q: 現行ディレクトリ直下にあるファイルを日付順に処理したい。
A: ls -ct1

982デフォルトの名無しさん2021/02/26(金) 04:55:54.66ID:hDnFyj4c
知らなかったくせにプライドだけはいっちょ前だな
謙虚さが無いやつは成長しない

983デフォルトの名無しさん2021/02/26(金) 11:37:38.92ID:pzzMEm8u
えぇ……。

984デフォルトの名無しさん2021/02/26(金) 12:54:01.69ID:X0njcRoR
>>970
こんな殺伐としたスレでもちゃんと立ててくれる人がいる、おつおつ

985デフォルトの名無しさん2021/02/26(金) 13:35:11.54ID:XgSzjw4v
>>982
謙虚さがないから人の言っていることがわからないのか
単に馬鹿だから色々わからなく人との接し方もわからないのか
どうも後者っぽいな。リアル社会でも人と接するのが難しいレベルな

986デフォルトの名無しさん2021/02/26(金) 18:46:13.32ID:7vDu415h
>>985
いや、俺が教えろっつったら教えろよ
学生時代てめえみたいな陰キャを脅してノート写して貰ってた感じで俺は質問したんだぞ
あ?

987デフォルトの名無しさん2021/02/26(金) 19:53:37.61ID:R5L7j7Jr
それおもしろいとでも思って書いたの?

988デフォルトの名無しさん2021/02/26(金) 20:44:14.99ID:25Vyny5k
>>987
イチビリにかまうな。
かまうのなら、おもしろく。

989デフォルトの名無しさん2021/02/26(金) 21:39:37.76ID:IMLGfwsq
#!/bin/bash
# >>162
# 日本で生まれたけど国籍は日本ではない外国人が使う「通名」作成スクリプト
JUNG=1
while [ $JUNG -lt 21 ]
do
echo "$JUNG回目"
(( JUNG ++ ))
NAME=$( shuf -e 村 崎 本 田 山 玉 子 -n 1 )
if [ "$NAME" = "玉" ]
then tput setaf 3 && echo "金$NAME"; tput sgr0
else echo "金$NAME"
fi
sleep 3
done

990デフォルトの名無しさん2021/02/26(金) 21:40:37.08ID:9y4w8ED+
この後続きを作ってください

991デフォルトの名無しさん2021/02/28(日) 20:31:34.11ID:pff3D6mj
切実な悩みがあります。

992デフォルトの名無しさん2021/02/28(日) 20:32:26.73ID:pff3D6mj
生理が来ないのですがどうしたら良いでしょうか?

993デフォルトの名無しさん2021/02/28(日) 22:15:05.12ID:BY9ZMr+Z
bash
変数sに文字列を代入したいのですが、文字列が長いので複数行に分けて書く方法を教えてください


s="a"
\ "b"
\ "c"

これはエラーになりますがこんな感じで複数行に分けて、sにはabcと1行分として代入されているようにしたいです

994デフォルトの名無しさん2021/02/28(日) 23:11:46.70ID:sNDsGIAp
bash なら...最後の2行がちょっと残念感あるけど
s=$(cat <<EOF
a
b
c
EOF
)

995デフォルトの名無しさん2021/02/28(日) 23:16:50.23ID:sNDsGIAp
3行じゃなくて1行っていみなら最終行以外の末尾にバックスラッシュで
s=$(cat <<EOF
a\
b\
c
EOF
)

996デフォルトの名無しさん2021/02/28(日) 23:33:09.08ID:uDfQ2boM
>>993
その場合でも単に \ の位置が間違い。1文を行変える場合は \ は行頭じゃなく行末

997デフォルトの名無しさん2021/03/01(月) 00:41:19.60ID:+i2FYD3a
ヒアドキュメント使わなくても行けるんでないかい?

998デフォルトの名無しさん2021/03/01(月) 00:43:41.99ID:+i2FYD3a
s="a\
> b\
> c"

echo $s
abc

999デフォルトの名無しさん2021/03/01(月) 00:48:24.22ID:p97sWF/c
$ l\
> s
ってしても、単に ls っていう
シンプルの極み、いつでもどこでも改行したければどうぞって感じ

1000デフォルトの名無しさん2021/03/01(月) 02:25:37.20ID:IoozPjgH
a="aaa"
b="bbb"
c="ccc"
s="$a$b$c"


lud20210529024223ca
このスレへの固定リンク: http://5chb.net/r/tech/1606221440/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「シェルスクリプト総合 その35 」を見た人も見ています:
シェルスクリプト総合 その34
シェルスクリプト総合 その33
シェルスクリプト総合 その28
シェルスクリプト総合 その30
シェルスクリプト総合 その36
シェルスクリプト総合 その29
シェルスクリプト総合 その26
シェルスクリプト総合 その29
シェルスクリプト総合 その29
シェルスクリプト総合 その31
シェルスクリプト総合 その27
シェルスクリプト総合 その32
シェルスクリプトで業務システム開発の被害者スレ
シェルスクリプト質問スレ
【POSIX】 sh系互換 シェルスクリプトスレ
金沢大学「シェルスクリプト言語論」は偽開発技術
日本最強のCGIスクリプト
スクリプトドイツの暴れっぷり
出会い系サイトのcgiスクリプト
スクリプトのいないエロゲスレ
スクリプトストーカーたちの罪
あなたのサイトの設置スクリプト一覧
中国電のスクリプト荒しを止めさせる方法募集中
食べ放題キチガイはスクリプトなの???
◆ヤフオクのスクリプト研究スレッド◆
スクリプトの作り方教えてください!
配布スクリプトの読めない部分を解説しちゃる
20くらいまで勝手に伸ばしてくれる連投スクリプトの魅力
5chで有名なスクリプト荒らしF9の別名一覧
スクリプトガイジさんの [無断転載禁止]
自動保守スクリプトの破壊力!凄すぎる! 3
狼荒らしてるのって手動なの? スクリプトなの?
自分の作ったCGIスクリプトをデバッグするスレ
どうもスクリプト荒らしやってるの小田ヲタみたい
ももクロのコピペ荒らしが新スクリプト導入で進化してる件
【回覧板】スクリプト避難のため、三男への避難、移住の促進活動中です
ハゲ板の全てのスレにスクリプトを仕掛けている障害者
手動スクリプトおじさんってカントリーヲタなの?
★080220 的スポ板 複数IDの1~5分間隔スクリプト荒らし報告
「ハチエルの日記」「保守スクリプト募集中」 [無断転載禁止]
スクリプト言語のソース、何MBだとデカイと思う?
( ^ϖ^)この中に一人、スクリプトがいる!!
★080131 的スポ板 複数IDの10分間隔スクリプト荒らし報告
【川本】F9総合スレ(鬼女板の反日荒らしも漫画板のスクリプトもこいつ)
なんかデマスレ多くね? スクリプトも復活したし 自民党焦ってるのか?
ついにケンモメントレーサー発動か!?オイコラミネオの謎の投稿スクリプトが確認される
めっちゃ怒られてるのが放送されて ← このスクリプトうざいよな [無断転載禁止]
【スクリプト設置は違法か?】「Coinhive」訴訟、横浜地検が控訴 弁護人「何が何でも有罪にしたいのか」
【卑怯】スクリプト、更なる進化を遂げとうとう専ブラがごちゃんねるのスレURLと誤認するURLで誘導しだす
定期ageでスクリプト釣り
スクリプト練習用
◆◆詰めスクリプト◆◆
スクリプト嵐ってなに?
軽いスクリプトを作るには
早くスクリプト逮捕しろよ
なんJスクリプト攻撃作戦会議スレ
スクリプト言語について語ろう
ティラノスクリプトスレ
48歳スクリプトジジイを応援する 2
金出すからスクリプト作ってよvol.1
スクリプト荒らしを追悼するスレ
スクリプトに一番レスされた奴が優勝
手動スクリプト荒らし対策法見つけた!
★090716 スパムURLスクリプト爆撃報告7
スクリプトによるPC自動化総合スレ
06:49:59 up 110 days, 7:48, 0 users, load average: 40.21, 38.54, 37.15

in 0.034594058990479 sec @0.034594058990479@0b7 on 080519