シェルスクリプト総合 その31at TECH
シェルスクリプト総合 その31 - 暇つぶし2ch263:デフォルトの名無しさん
19/08/21 17:36:09.70 +thc3RuF.net
>>258
Emacs使いはHJKL使わないってじっちゃんが言ってた

264:デフォルトの名無しさん
19/08/21 19:28:59.77 /hAWXHxO.net
>>257
Webサイト向けだが、UbuntuとDebianをあわせて59.7%がbash拡張の無いdashだからね
URLリンク(news.mynavi.jp)

265:デフォルトの名無しさん
19/08/21 19:32:04.69 CEaWdSia.net
>>256
bashがデファクトスタンダード的なもんだからな。採用の多さから
ksh,zshなどと置き換えても同じことだったりしてるからな、単なる象徴的な名称としてだけだろう
あとは/bin/shがbashな場合にイマイチな仕様だったりするとこか

266:デフォルトの名無しさん
19/08/21 19:33:05.60 /hAWXHxO.net
あとmacがbashをやめてzshになるらしいので、それなりどころか
過半数以上がbashを使わなくなりそう。
まあmac版のzshはbashと互換性があるように
デフォルトオプションを変更してそうな気がするけど
shwordsplitとか
>>258
bash以外を使うことがないって言いたいんだろうけど、その例えは的外れかな
現に多くの人がbash以外を使ってるわけだから

267:デフォルトの名無しさん
19/08/21 19:34:57.26 /hAWXHxO.net
あ、そういやWSLもUbuntuだっけか。他のディストリも使えるけど
そう考えるとdash使ってる人、かなりいるな。

268:デフォルトの名無しさん
19/08/21 19:35:53.33 CEaWdSia.net
>>261,256
訂正。bashを嫌ってる人はいるみたいだった。理解できんw

269:デフォルトの名無しさん
19/08/21 19:45:33.15 /hAWXHxO.net
>>264
bashコードなのに#!/bin/shを名乗るなってことでしょ?
Ubuntu/Debianでdashが採用されたのは
パフォーマンスがいいかららしい。
URLリンク(wiki.archlinux.jp)
> 実行速度が速い。Bash などのシェルに比べて 4倍高速 に動作します。
その際にbash依存しているのに#!/bin/shを使われていたから
変更するのに手間がかかったって言われてるね。
あとセキュリティもbashよりもdashのほうが高そうだし。bashは今も機能加えてるから新たに脆弱性が生まれてくる可能性も高い。
URLリンク(ja.wikipedia.org)
> 2014年9月に公表されたBashについての一群の脆弱性(CVE-2014-6271 [1] 等)の発見は、
> 俗にシェルショック(Shellshock)、バッシュドア(bashdoor)と呼ばれている。
> 関連して6つの脆弱性が登録された。

270:デフォルトの名無しさん
19/08/21 19:51:13.28 CEaWdSia.net
なんかいきなりdash推ししているのがいるが>>257のいうデフォルトシェルがソレを指しているのって疑問
>>256なんぞからはデフォルトシェルはログインシェルのことを言っているのかと思ったけど
ちなみに大好きなPOSIXでググってみたが、デフォルトシェル=ログインシェルだなあ。引っかからなかったなにかがあるかもだが、引っかかったのがpasswd関連んとこだけというのもあり

271:デフォルトの名無しさん
19/08/21 19:53:39.23 /hAWXHxO.net
>>266
ログインシェルがbashでも
(UbuntuやDebianでは)#!/bin/shはdashだから

272:デフォルトの名無しさん
19/08/21 19:55:50.58 CEaWdSia.net
話が通じてないなw

273:デフォルトの名無しさん
19/08/21 20:02:35.45 MMv7CGOe.net
>>263
Ubuntu on WSL だと、デフォルトシェルはbashになる。
chshしない限り、WSLではbashのままの人が多いだろうな。

274:デフォルトの名無しさん
19/08/21 20:02:40.75 /hAWXHxO.net
>>268
ここでデフォルトシェルの定義がどうこう言っても無意味だっていう話
URLリンク(wiki.ubuntu.com)
> Why was this change made?
> The major reason to switch the default shell was efficiency.
デフォルトシステムシェルのことを
デフォルトシェルと呼んでる例なんていくらでもあるんだから

275:デフォルトの名無しさん
19/08/21 20:04:25.00 /hAWXHxO.net
>>269
> Ubuntu on WSL だと、デフォルトシェルはbashになる。
話通じてないなw
その人が書くシェルスクリプトの一行目には、どうせ #!/bin/sh って書くでしょ?
デフォルトログインシェルがなんであろうが、
デフォルトシステムシェルは dash になるんだよ。

276:デフォルトの名無しさん
19/08/21 20:08:56.78 MMv7CGOe.net
>>271
ああ、そいういうことね。
$ ll /bin/sh
lrwxrwxrwx 1 root root 4 7月 26 2018 /bin/sh -> dash*

277:デフォルトの名無しさん
19/08/21 20:09:40.60 CEaWdSia.net
誰かがデフォルトシェルと言えばそのデフォルトシステムシェルのことだと言っていたからなあ
流れ的に同じこと言っているなと。そんな話はしてないんじゃねえのってとことだな

278:デフォルトの名無しさん
19/08/21 20:12:54.47 /hAWXHxO.net
>>266
> ちなみに大好きなPOSIXでググってみたが、デフォルトシェル=ログインシェルだなあ。
POSIXが/bin/shについて語ることはあっても、
/bin/bashについて語ることはないと思う
POSIXの世界のシェルには/bin/shしかないのでは?

279:デフォルトの名無しさん
19/08/21 20:17:07.13 CEaWdSia.net
"default shell" というのはあるんだよ。そしてそれを指しているのはログインシェルっていう
なにか問題でも?ログインシェルをデフォルトシェルと言っても何も差し支えがなく間違いでもないってことだな、POSIXでの文章でそうなんだから
そして、ログインシェルの話をしていたって>>269で明らかになりましたってとこで俺は満足してますがw

280:デフォルトの名無しさん
19/08/21 20:19:20.00 MMv7CGOe.net
>>274
> POSIXの世界のシェルには/bin/shしかないのでは?
そうなの?
20年くらい前のbashの解説書 "bash Manual & Reference" には、
Bourn Shell(sh/bsh)をPOSIXに準拠させるために書き直したのが
Bourn Again Shell(bash)というふうに書かれていて、
そういうもんだと思ってたわ。

281:デフォルトの名無しさん
19/08/21 20:20:46.30 /hAWXHxO.net
>>275
うん、だからそこでデフォルトログインシェルの話をしたって意味がないでしょう?と言ってるわけ。
重要なのは /bin/sh の話だよ。
#!/bin/bash と書いてbashスクリプトを書くのはいいけど
#!/bin/shと書いていながらbashスクリプトになってるから嫌われているわけで

282:デフォルトの名無しさん
19/08/21 20:25:13.92 CEaWdSia.net
ふーん
食いつき&その後レスからそうとは思えないけど、まあそういうことでいいよw

283:デフォルトの名無しさん
19/08/21 20:26:05.08 /hAWXHxO.net
>>276
POSIXの世界にbashが出てくることはない。の反証として
bashの世界にPOSIXが登場したと言っても、それは反証になってないよw

284:デフォルトの名無しさん
19/08/21 20:28:27.61 LqLocPLj.net
bash bash bash
fish and bash

285:デフォルトの名無しさん
19/08/21 20:29:21.72 /hAWXHxO.net
>>278
なんでそう、本当は納得してないけど
納得してあげました風の言い方をするかな?w

最初から書いてるんだけど↓
265 自分:デフォルトの名無しさん[sage] 投稿日:2019/08/21(水) 19:45:33.15 ID:/hAWXHxO [4/10]
>>264
bashコードなのに#!/bin/shを名乗るなってことでしょ?

286:デフォルトの名無しさん
19/08/21 20:33:57.11 CEaWdSia.net
>>281
ああ、いつものだなってとこだなw
ログインシェルをデフォルトシェルと言っても何も差し支えがなく間違いでもない
というのがわかった|わかっているようなので、まあいいよってとこだよ
まさしく、その最初からも読み違いとしか思えないけど、まあそれもw

287:デフォルトの名無しさん
19/08/21 20:35:07.03 /hAWXHxO.net
>>282
ふーん、まあそういうことでいいよw





↑このレスにムカついた?
それがあんたがやってることだよ。

288:デフォルトの名無しさん
19/08/21 20:36:27.37 CEaWdSia.net
ムカついたのね。まあムカつくように書いたんだけどwなぜかはひみつww

289:デフォルトの名無しさん
19/08/21 20:40:12.26 /hAWXHxO.net
あーあ、とうとう反論はできないから、
ムカつかせるためだけにレスをしたって認めちゃったw
そういうとこやで

290:デフォルトの名無しさん
19/08/21 20:42:42.39 CEaWdSia.net
なんの反論????いきなりすぎて意味わかりません、なんの反論すればいいの?????
ちなみに、>>276は「そういうもんだと思ってた」と言っているように反証でもなんでもなく、困惑しているんじゃないかなあと思ってみたり

291:デフォルトの名無しさん
19/08/21 20:43:23.13 /hAWXHxO.net
>>286
ふーん、まあそういうことでいいよw

292:デフォルトの名無しさん
19/08/21 20:43:52.96 CEaWdSia.net
それなら、よしっww
終わって何よりw

293:デフォルトの名無しさん
19/08/21 20:44:38.88 /hAWXHxO.net
だからそういうことでいいってw

294:デフォルトの名無しさん
19/08/21 20:45:06.34 /hAWXHxO.net
bashコードなのに#!/bin/shを名乗るなってことでしょ?
ということが最後の話となった

295:デフォルトの名無しさん
19/08/21 20:45:11.83 CEaWdSia.net
だからそれでよかったねえw

296:デフォルトの名無しさん
19/08/21 20:45:37.37 ttxmDenw.net
         ,. '"´ ̄ ̄ ̄ ̄``ヽ、
        /::::::::::::::::::::::::::::::::::::::::::::::\
    /::::::::::::;.: --─---─-、:::::::::::::ヽ
    ./::::::::::::/ィC¨ヽ      \:::::::::::l
   /:::::::::/  └¬'´,   ィC¨ヽ';:::::::::!
  ./::::::::イ        / ,.  ヽ `¬┘';:::::::!
  l::::::::::::l       /ハ ハ }     ヾ::::j
  {::::{⌒l:!      / `   ' ヽ   V}
.  ';:::l ゝリ     l ,/ ̄¨ヽ  ',    }l
  ヾヽ__j     { {,. --‐‐ヘ    {,l
    ヾ::::|   i  ヽ ヽェェェェェノ     {
    }:::l   ヽ    ` ̄¨´   ノ   }
     ヾ;k    \_  __  ,/   }
     "|       ̄ ̄ ̄    ノ
  _,. -‐"\              フー-、_
'"´      `ヽ、          /                  ┼ヽ  -|r‐、. レ |  
                                         d⌒) ./| _ノ  __ノ  
                                        ---------------  
                                        制作・著作 NHK

297:デフォルトの名無しさん
19/08/21 20:46:44.09 /hAWXHxO.net
>>291
あぁ、反論っていうのは、これに対する反論だよ。

298:デフォルトの名無しさん
19/08/21 20:47:09.06 /hAWXHxO.net
これって言うのは、これね
> bashコードなのに#!/bin/shを名乗るなってことでしょ?

299:デフォルトの名無しさん
19/08/21 20:49:21.93 /hAWXHxO.net
>>257
> ま、bashがデフォルトシェルじゃないOSもそれなりにあるもんな
bashがデフォルトシェルじゃないOSってなに?
流石にWindowsのことではないと思うけどw

300:デフォルトの名無しさん
19/08/21 20:50:16.25 /hAWXHxO.net
いや、OSもそれなりにあるもんなっていうから
そのOSはそれなりに使われてるんだろうなと思ってね。

301:デフォルトの名無しさん
19/08/21 20:51:38.32 CEaWdSia.net
誰もそんな話はしてないと思うし、俺は最初ので触れているんだけどな
誰かみたいに「名乗るな」とか言わなけどw
てか、続けんのかよw自分の言ったことを忘れすぎだろう
あら、あら、まあ。いつものだな。終わりますww

302:デフォルトの名無しさん
19/08/21 20:52:22.52 /hAWXHxO.net
あぁ、デフォルトシェルっていうのは、
デフォルトシステムシェルってことか
URLリンク(wiki.ubuntu.com)
> Why was this change made?
> The major reason to switch the default shell was efficiency.
↑この文脈の「the default shell」
それならたしかにたくさんあるわ

303:デフォルトの名無しさん
19/08/21 20:53:10.58 /hAWXHxO.net
>>297
ふーん、まあそういうことでいいよw

304:デフォルトの名無しさん
19/08/21 20:54:13.14 /hAWXHxO.net
デフォルトシステムシェルっていうか
システムが使うデフォルトのシェルっていうべきかな?

305:デフォルトの名無しさん
19/08/21 21:33:16.44 WsJBrYLB.net
macOS10.15でzshに変更になるって話、/bin/sh は結局何になるんだろう?
zshかな?って思ってたけど、dashの可能性もあるのかな?
ここ読んで知ったけど
URLリンク(scriptingosx.com)
ログインシェルに /bin/dash を選べるようになってるらしい。
URLリンク(support.apple.com)
(homebrewの話ではないよ)

306:デフォルトの名無しさん
19/08/21 21:33:59.34 l+BF9a7q.net
やっぱりどこでも動くシェルスクリプトなんて幻影なんだね

307:デフォルトの名無しさん
19/08/21 21:46:11.50 CEaWdSia.net
>>301
その
URLリンク(support.apple.com)
How to test your shell scripts
If you change /var/select/sh to a shell other than bash, be aware that scripts that make use of bashisms may not work properly.
からはbashっぽいかなあ。変わった直後でもあるmacOS10.15では

308:デフォルトの名無しさん
19/08/21 21:49:36.68 WsJBrYLB.net
>>303
ふーん、まあそういうことでいいよw

309:デフォルトの名無しさん
19/08/21 21:51:21.56 g3Au7XoK.net
ソートの安定の話はどうなったの?

310:デフォルトの名無しさん
19/08/21 21:54:13.22 vg8ZIjZS.net
>>305
行番号が付いてるから、安定以前に並ぶ順番が入れ替わることはない。
> POSIX sortだと-s(=stable sortのs)オプションが提供されてないので
とか言ってるやつが間抜けでした。
(いつもの誤読ばっかりしてるやつだろう)
で終わりじゃない?

311:デフォルトの名無しさん
19/08/21 21:54:40.89 CEaWdSia.net
何が気に障ったのかわからんな
牛乳飲もうw

312:デフォルトの名無しさん
19/08/21 21:55:01.07 3uzLJz9e.net
そういうのいいから

313:デフォルトの名無しさん
19/08/21 21:58:52.30 CEaWdSia.net
だよなw
あと、sortはヤツじゃないだろう。もしかして俺?俺でもないぞw

314:デフォルトの名無しさん
19/08/21 22:14:47.06 ttxmDenw.net
そういうのいいからw

315:デフォルトの名無しさん
19/08/21 22:16:45.46 CEaWdSia.net
だよなあww

316:デフォルトの名無しさん
19/08/22 01:25:13.11 Oq4Y6cV4.net
bashrc zshrc みたいなところに alias 書くと
シェルスクリプトで bash,zsh依存の書くとaliasまで読まれてしまう
\Xxx のようなバックスラッシュを全部に付けるのは読みにくい
alias 全部切る宣言ないか?

317:デフォルトの名無しさん
19/08/22 01:31:08.84 RwKT/aao.net
unalias -a

318:デフォルトの名無しさん
19/08/22 01:32:36.38 Oq4Y6cV4.net
thanks

319:デフォルトの名無しさん
19/08/22 02:09:53.19 jM8tCXZ0.net
>>312
なんかおかしいぞ
aliasはシェルスクリプトには伝搬しない。
現在のシェルにのみ反映する。
例えば、zshでログインして#!/bin/shのシェルスクリプトを起動することを
想像すればなんとなくわかると思うが、別のプロセスになるんだから
zshと(zshではないかもしれない)別のプロセスとaliasが共通になるわけがない。
. (source)でカレントプロセスに読み込むならaliasが働くけど
それはシェルで使うaliasまで全部初期化するってことになるぞ(それでいいんだろうけど)
なんか勘違いか変なことをしてる気がする。

320:デフォルトの名無しさん
19/08/22 02:23:33.98 jM8tCXZ0.net
たまたま関連することをやっていたので気づいたが
zshって設定なしでも以下のaliasを作ってるな
run-help=man
which-command=whence
これを何に使ってるのか知らないけどunalias -aをするとそれが消えてしまう

321:デフォルトの名無しさん
19/08/22 16:38:31.14 maUgHi90.net
あんまりbashと関係ないけど
直前のmacのターミナルのログってどっかに自動保存されてたりするもんなのかね

322:デフォルトの名無しさん
19/08/22 16:48:16.03 hwVLULCR.net
シェルとは直接関係ない話だが、vimってこんなこともできたんだな。
URLリンク(qiita.com)

323:デフォルトの名無しさん
19/08/22 16:53:37.85 jM8tCXZ0.net
>>318
vscodeでよくない?
そこに書いてあるの、全部できるでしょ?

324:デフォルトの名無しさん
19/08/22 17:04:13.34 hwVLULCR.net
あ、そうなの?
使ったことないから知らなかったよ。

325:デフォルトの名無しさん
19/08/22 17:15:22.21 hEbQ4qBk.net
vimでもvscodeでも自分が好きなの使えばええがな

326:デフォルトの名無しさん
19/08/22 20:05:03.45 GkmKkRib.net
ターミナルで動かせるメリットは大きい

327:デフォルトの名無しさん
19/08/22 22:15:12.37 mlpPC2JR.net
VSCodeは「沢山の機能から自分の欲しいものを選びたい人」向けで
Vim含めUnixツールは「少数の機能から自分の欲しいものを作りたい人」向け。
どっちも利点欠点があるけど,俺は後者かなぁ。

328:デフォルトの名無しさん
19/08/22 22:28:59.84 UjFyi9ja.net
> Vim含めUnixツールは「少数の機能から自分の欲しいものを作りたい人」向け。
vimを使う人は、vimの機能を作るのが目的の人ってこと?
本末転倒って言葉知ってる?

329:デフォルトの名無しさん
19/08/22 23:07:37.71 mlpPC2JR.net
Unixマニアにとって「本末転倒」は誉め言葉w

330:デフォルトの名無しさん
19/08/22 23:18:19.55 NaJTUw7c.net
Vimは基本的にファイラーとかないから、シェルに移ってコマンド操作しつつ開発するのが普通
なんで、TmuxとかScreenとか併用する
ソースコードのフォーマッターだとかリントみたいなのも直接、間接で外部コマンド叩いて使う

331:デフォルトの名無しさん
19/08/22 23:18:34.05 hEbQ4qBk.net
atom派は出てこないんだな

332:デフォルトの名無しさん
19/08/22 23:19:14.46 UjFyi9ja.net
聞いたことないで?
「unix 本末転倒 誉め言葉 」
検索結果 約 5 件 (0.35 秒)

333:デフォルトの名無しさん
19/08/22 23:20:40.75 UjFyi9ja.net
>>327
atomはMSの息がかかってないから使っていた人が多い。
githubをMSが買収してしまったので、あえてatomを使う理由もなくなった。
vscodeの方が洗練されてるよ。

334:デフォルトの名無しさん
19/08/22 23:31:29.63 xdlhVqlc.net
このスレ、ダメだね

335:デフォルトの名無しさん
19/08/22 23:36:33.00 hEbQ4qBk.net
あー俺はvimmerだからw
vscode悪くないけどviキーバインドがイマイチ
exコマンド使えんのがストレスで里帰りしたわ

336:デフォルトの名無しさん
19/08/22 23:50:38.35 bojKrn/j.net
テキストなら、vim
Ruby, Julia なら、VScode で、
グラフなら、Jupyter Notebook

337:デフォルトの名無しさん
19/08/22 23:57:59.62 mlpPC2JR.net
検索結果がすべてだと思ってる御坊ちゃまかわいい

338:デフォルトの名無しさん
19/08/23 08:47:14.32 Wcc23IuY.net
UNIX哲学こそ正義(GNUのlsやsystemdから目を背けながら)

339:デフォルトの名無しさん
19/08/23 10:13:29.68 mT51SH+B.net
gitとかUnixの哲学の正反対だよな

340:デフォルトの名無しさん
19/08/23 11:56:56.10 UifFOlyJ.net
だってLinuxの作者が作ったコマンドだからな。

341:デフォルトの名無しさん
19/08/23 11:59:37.65 UifFOlyJ.net
ていうかGNU lsもsystemdも「Unix環境で使える」というだけで「Unix哲学に基づいてる」とは標榜してないしねぇ。
ま,俺は別にUnix哲学が絶対的正義とは思ってないけど。
ただ自分で作るツールはUnix哲学とユーザビリティを両立させるべく努力してるけど。

342:デフォルトの名無しさん
19/08/23 19:53:15.50 ge92wy5O.net
単機能のコマンド
標準入出力という共通インターフェース
それらを組み合わせて処理する
この思想を最初に知った時は感動したな
Small is beautiful.

343:デフォルトの名無しさん
19/08/23 20:11:00.47 Kka1jIND.net
ls

344:デフォルトの名無しさん
19/08/23 20:24:40.67 GCcQKmFF.net
パイプが強烈なので他の言語のときもできるだけフィルターで機能するように書いている
Xxx の言語で書くと import use require ... ができるのは Xxx の言語でかかれたコード
しかし、パイプを開いて | ./Yyy arg1 arg2 ... とすれば
Yyyは任意の言語で大丈夫
シェルスクリプトが背景にあるのは間違いない

345:デフォルトの名無しさん
19/08/24 00:25:49.01 AZIGFNIF.net
何にせよ「ベンダ形式に依存しない」というのが遥か昔に実現できていただけでも評価できる。
今だとテキスト形式より表現能力の高いJSON,更に高いXML with NS & XSDがあるのものの
それらが無い時代によくも思い付いたなと。

346:デフォルトの名無しさん
19/08/24 01:34:35.98 dr4oD/Ll.net
パイプとJSON, XMLを比較するとはね。
ヘリコプターと日本語を比べて云々するようなものだ。

347:デフォルトの名無しさん
19/08/24 02:19:04.83 AZIGFNIF.net
例え下手すぎて草
普通に説明したほうがマシだな。

348:デフォルトの名無しさん
19/08/24 02:52:37.93 T//47Bbt.net
パイプとJSON, XMLを比較するとはね。
チンコとペニシリンを比べて云々するようなものだ。

349:デフォルトの名無しさん
19/08/24 03:13:32.51 ctAc+SuL.net
単にデータフォーマットの話でしょ?
昔は行指向が普通だったからCSVが良く使われたな。
今でも使うけど。Cはcharacterね。
それからXML,JSON,YAML,TOMLと規格が増えていった。
PowerShellはオブジェクトをパイプに流せるんだよな。

350:デフォルトの名無しさん
19/08/24 03:48:51.30 GJDIT1Pg.net
行指向はデータ処理がすぐに行えるって利点があるんだよな
XMLは全体を<xml>でくくるという仕様だからデータが全部揃って
タグが終了するまで処理できない。大きなデータをストリーミングで
受け取りながら処理していくということに向いていない。
ドキュメント専用と考えたほうがいい。
同じ問題はJSONにもある。ただしJSONLならJSONを使いつつも
行指向になってるからJSONを使いながらも行指向的なデータ処理が行える。

351:デフォルトの名無しさん
19/08/24 06:30:43.05 z5CiWEzT.net
正規表現で引っ掛けるしかないもんな

352:デフォルトの名無しさん
19/08/24 06:54:04.43 AZIGFNIF.net
>>345
そうそう。
PowerShellは「パイプ」という概念はそのままに,
流すアイテムをテキスト形式からオブジェクト形式に変更したんだよね。
もっとも,PowerShellはインターネットでググってるだけじゃあまり情報は出てこないし,
>>342 みたいに「パイプ」と(パイプに流す)「テキスト形式」を混用してしまうのも無理はないけどね。

353:デフォルトの名無しさん
19/08/24 13:27:01.13 dr4oD/Ll.net
混用してるのは>>341
>>340-341を再掲。
340 デフォルトの名無しさん sage 2019/08/23(金) 20:24:40.67 ID:GCcQKmFF
パイプが強烈なので他の言語のときもできるだけフィルターで機能するように書いている
Xxx の言語で書くと import use require ... ができるのは Xxx の言語でかかれたコード
しかし、パイプを開いて | ./Yyy arg1 arg2 ... とすれば
Yyyは任意の言語で大丈夫
シェルスクリプトが背景にあるのは間違いない
341 デフォルトの名無しさん sage 2019/08/24(土) 00:25:49.01 ID:AZIGFNIF
何にせよ「ベンダ形式に依存しない」というのが遥か昔に実現できていただけでも評価できる。
今だとテキスト形式より表現能力の高いJSON,更に高いXML with NS & XSDがあるのものの
それらが無い時代によくも思い付いたなと。

354:デフォルトの名無しさん
19/08/24 13:37:16.85 ctAc+SuL.net
>>346
そうだね。
XMLとかマークアップ系はタグ閉じるまで処理できないからストリーミングには向かない。
パーサーに食わせて必要な要素取り出すのが常道だね。

355:デフォルトの名無しさん
19/08/24 13:37:41.91 GJDIT1Pg.net
ベンダ形式に依存しない?
psコマンドのオプションと出力フォーマットを見てから言え

356:デフォルトの名無しさん
19/08/24 13:49:16.53 ctAc+SuL.net
nodejs使いならawkwardというシェルが面白い
コマンド出力をオブジェクト配列に変換してforEachで回せる

357:デフォルトの名無しさん
19/08/24 18:36:54.54 AZIGFNIF.net
>>351
なんの為のPOSIXだと思ってるんだw

358:デフォルトの名無しさん
19/08/24 21:05:39.09 wirrzXpF.net
>>353
つまらない

359:デフォルトの名無しさん
19/08/24 23:30:16.23 AZIGFNIF.net
そりゃおめーを笑わす目的じゃなくて俺が笑う目的で書き込んだんだからなw
つまらないのは当然

360:デフォルトの名無しさん
19/08/24 23:33:11.08 GJDIT1Pg.net
URLリンク(www.weblio.jp)
③ とりあげるだけの価値がない。取るに足りない。下らない。 「 - ・ないものを買ってしまった」 「 - ・ないうわさ」 〔「つまらないものですが」などの形で,相手に贈る品物を謙遜していう場合にも用いられる。「-・ないものですが,召し上がって下さい」〕

361:デフォルトの名無しさん
19/08/24 23:50:48.54 vHj0a3Gd.net
笑ってるんじゃなくて笑われてるだけでは

362:デフォルトの名無しさん
19/08/25 00:04:21.62 a7DQLwJd.net
原理主義者の自称神様には何を言ってもムダ

363:デフォルトの名無しさん
19/08/25 00:09:42.96 hoACBN+G.net
sortの話どうなったんだよ?自称神様

364:デフォルトの名無しさん
19/08/25 00:40:36.59 2WZBdFxH.net
>>355
自分が笑われる目的で?
なんとも自虐的な奴だなw

365:デフォルトの名無しさん
19/08/25 02:30:04.13 RhAWwavs.net
再掲してやろうw
> From: [36] デフォルトの名無しさん <sage>
> Date: 2019/08/11(日) 16:10:55.15 ID:++HFlOfG
>
> 現実世界では私は神なのだ
さっさとsortコマンドの話に答えろよw

366:デフォルトの名無しさん
19/08/25 03:09:53.26 ssItiA2j.net
しつこい

367:デフォルトの名無しさん
19/08/25 03:49:52.04 hoACBN+G.net
>>361
答えたで? >>173にコード書いてあるやろ?

368:デフォルトの名無しさん
19/08/25 04:39:23.92 edoCEBS2.net
神というだけあってシェルスクリプトに詳しいよな

369:デフォルトの名無しさん
19/08/25 04:45:30.28 ve1RKgr6.net
>>361
だっさw

370:デフォルトの名無しさん
19/08/25 05:11:51.88 X8LrMnru.net
>>361
なんで、>>75のレスって書かないの?
そしてほんとうの意味を書かないの?
>>75
それはその数個上のレスを見ればわかるよ。
「現実世界では俺は優れたプログラマ」(といわれても証拠ないしなーw)
とか言ってるや


371:つがいたから、そいつに対するレス。



372:デフォルトの名無しさん
19/08/25 09:58:11.98 ve1RKgr6.net
粘着うぜーな
どーでもいいわ

373:デフォルトの名無しさん
19/08/25 11:32:58.43 coCCl2cg.net
簡単なシェルスクリプトならコピペせず書けるようになったけど他にも言語覚えた方がいいのかしら
sedにgrepにawkならかなり世話になってるけどpythonやrubyとは無縁なんだわ
シェルはbashに篭ってても困らんしな

374:デフォルトの名無しさん
19/08/25 12:52:50.34 RhAWwavs.net
粘着っていうか自業自得では。自称神さまw

375:デフォルトの名無しさん
19/08/25 13:36:51.55 1wFl7XLL.net
いいからシェルスクリプトの話をしてくださいよ
じゃまですよ

376:デフォルトの名無しさん
19/08/25 13:49:29.02 a7DQLwJd.net
お前がしてもええんやで

377:デフォルトの名無しさん
19/08/25 14:04:56.36 ve1RKgr6.net
俺が自称神さまかよw

378:デフォルトの名無しさん
19/08/25 14:11:34.62 ve1RKgr6.net
>>368
他になに書ける?

379:デフォルトの名無しさん
19/08/25 15:01:36.04 1wFl7XLL.net
仕事で使ったことがある言語縛りで言えば、
Ruby、JavaScript、Java、C、C++、Python、C#、Perl、PHP、VB6
これぐらいかなぁ?

380:デフォルトの名無しさん
19/08/25 17:42:40.59 7+B4jEzI.net
聞いてない

381:デフォルトの名無しさん
19/08/25 17:51:41.37 ssItiA2j.net
あー当人じゃねーのか

382:デフォルトの名無しさん
19/08/25 20:05:36.28 lm+LknRP.net
>>368
perl5は相性が良い ワンライナーで簡潔だし
sed awk より強い正規表現が使える

383:デフォルトの名無しさん
19/08/25 20:06:08.69 coCCl2cg.net
>>373
授業でVB、html、C、java、javascriptを齧っただけですハイ
表計算の方がまだガッツリ書けるわ

384:デフォルトの名無しさん
19/08/26 02:33:05.90 zrSc8z1e.net
sedは使うが、awkまでは使いこなせない。
代わりにperlのワンライナーで賄っちゃう。

385:デフォルトの名無しさん
19/08/26 04:00:11.44 9u1tekMW.net
PerlはWebサーバーも作れるスクリプト言語だからな。

386:デフォルトの名無しさん
19/08/26 04:09:12.67 NWn2YSWg.net
やっぱりシェルスクリプトの利点は
Linux/Unix系ならどんな環境でも最初から入ってるという点と
普段プロンプトから入力しているものと同じコマンドで動くという点だと思う
そのメリットが、メリットにならないような場面では他の言語がいい

387:デフォルトの名無しさん
19/08/26 04:32:57.21 Y1KwJO8H.net
やたら短く書けるのも良い点だと思う

388:デフォルトの名無しさん
19/08/26 08:29:42.50 9u1tekMW.net
短かく書けるプログラミング言語なんて
ジョークではなく実用的なのでさえごまんとあるんだから
あんまりシェルスクリプトの特筆すべき魅力とは言えんだろう

389:デフォルトの名無しさん
19/08/26 09:14:52.23 CMmg/EPX.net
Brainfuck「ふん」

390:デフォルトの名無しさん
19/08/26 09:19:30.79 CMmg/EPX.net
>>378
「何をやりたいのか」の方が重要だな
それによって言語が決まる

391:デフォルトの名無しさん
19/08/26 10:12:59.25 easMKtRj.net
ソルバー系はやっていた方がいいと思う。

392:デフォルトの名無しさん
19/08/26 11:41:59.66 2xzzFsoU.net
ソルバー系って?Prologとかのことですか?

393:デフォルトの名無しさん
19/08/26 12:36:08.60 NWn2YSWg.net
今日のお昼はザルソルバー

394:デフォルトの名無しさん
19/08/26 15:31:55.55 7r1lWQhX.net
これは座布団没収

395:デフォルトの名無しさん
19/08/26 16:47:04.44 4xLfK+jj.net
審議中(AA略)

396:デフォルトの名無しさん
19/08/26 19:43:05.91 lDnuBORI.net
perlは便利っていうが専ら正規表現専用機になってる
ほぼsedとして使えるんでつい

397:デフォルトの名無しさん
19/08/26 22:19:06.53 bOZvrPaH.net
perlで使える正規表現文字クラスは、
POSIXの正規表現文字クラスより簡単に書けるから、
sedより楽といえば楽だよね。

398:デフォルトの名無しさん
19/08/26 22:35:23.01 pJei9Vjv.net
GNU sed だとコンパイルオプションを追加すれば PCRE が
使える(-R オプション)らしいな

399:デフォルトの名無しさん
19/08/27 09:47:28.46 jAZb3mMb.net
perlの存在を知る前から\dや\wは使ってたからこれが使えねぇって言われた時は焦ったわ
正規表現入門では当然のようにperl版を使うけど正規表現の種類までは解説しないからな
基本だの拡張だの方言があるって知ったのはvimやgrepで悩んだ時だし

400:デフォルトの名無しさん
19/08/27 12:20:19.16 WoMQ7lMm.net
sed は n で次の行に簡単に飛ばせるのが使いやすかった
もっとも多くの行送りは読みにくいので過信できないが

401:デフォルトの名無しさん
19/08/27 18:42:49.47 AbLHt6c7.net
perlでは[\s\S]でほぼ同じことができるけどね

402:デフォルトの名無しさん
19/08/28 05:11:25.57 mFl1zXF1.net
C言語とシェルスクリプトの対比・協調について
「シェルスクリプトは文字列処理がある程度得意で
キャラクタによるユーザーインターフェースを作るのに向いている。
一方C言語は↑このような操作は不得手であるが
素早い数値計算やシステムAPI呼出しは向いている。
だからインターフェースはシェルスクリプトで書いて
シェルスクリプトで適切に処理した引数(例えばヌル文字を削除したり数値だけにしたり)
をC言語をコンパイルしたプログラムに渡すようにすれば
「早くて堅牢、かつ使いやすい」システムができる」
こういうのってどの程度正しい?

403:デフォルトの名無しさん
19/08/28 05:39:32.47 K2P0GJ1V.net
言語なんて色々有るし、C言語と対比しないほうがいいのでは?

404:デフォルトの名無しさん
19/08/28 07:27:17.72 Z/4RZqPN.net
>>397
どこから突っ込んでいいか分からないくらいピンぼけな文章

405:デフォルトの名無しさん
19/08/28 07:38:14.25 JyOge16s.net
20年前からタイムスリップしてきたんだ。許してくれ

406:デフォルトの名無しさん
19/08/28 08:10:37.66 j4+M+GB0.net
>>397
ちんぼ

407:デフォルトの名無しさん
19/08/28 10:41:08.33 gV1iThk/.net
昭和何年からタイムスリップしてきたのか?

408:デフォルトの名無しさん
19/08/28 11:20:21.46 ddpchJVU.net
可読性が高く、CUI が作りやすい言語は、Ruby。
テキスト処理・コマンド作り・1-liner も得意
ただし、Rubyは遅いから、
ベクトル演算などを速く処理したいなら、C言語で作った、


409:NArray ライブラリを呼び出す その速さは、数値計算専門言語のOctave にも匹敵する!



410:デフォルトの名無しさん
19/08/28 11:31:26.07 Dqewl7QB.net
スクリプトの中で起動速度が一番速いのがシェルスクリプト。次がPerl。
その次はPythonとPHPが同着ぐらい。
Rubyはひときわ遅くて、シェルスクリプトの50倍。Python、PHPの3倍遅い

411:デフォルトの名無しさん
19/08/28 11:52:55.32 Z/4RZqPN.net
TwitterはRuby on Railsで書かれていたがScalaで書き直した
それは大量のトラフィックを捌き切れなくなったからだ
パフォーマンスの問題を解決しない限りは
死んだと言われても仕方がないな

412:デフォルトの名無しさん
19/08/28 12:15:10.11 wbjCXnts.net
railsってどんぐらいの規模ならいけるの

413:デフォルトの名無しさん
19/08/28 14:38:52.61 odAj9D7Z.net
もう10年以上前だけど、Twitterの開発者が何かのインタビューでScala移行した理由としてRubyは自前で型チェックを大量に記述しないといけないから、JavaやScalaみたいに型を指定するほうがいいって気づいたみたいなこと言ってた
海外のプログラミングサイトみたいなやつで、当時少し話題になったけど、探せばまだ見つかるかも

414:デフォルトの名無しさん
19/08/28 17:24:45.64 ZwB1MHJ/.net
すごいわかる
動的型付け言語使ってユニットテストで型チェック書くのギャグかよってぐらい馬鹿げてる

415:デフォルトの名無しさん
19/08/28 20:00:01.16 Z/4RZqPN.net
静的型付け言語の時代になったな
Scala,Rust,Swift,TypeScript...
パフォーマンスチューニングに労力使いたくないよな

416:デフォルトの名無しさん
19/08/28 23:53:16.25 7Kt8r9pr.net
ちょっとperlを覚える気になったけどなんで書きやすいやすくて読みにくいのか分かったわ
記号で変数の使い分ける時点でダメだった
正規表現さえ出来ればいいんだけどPerl6の展望ってどうなんですかね

417:デフォルトの名無しさん
19/08/28 23:54:49.23 ddpchJVU.net
Rails 6 では、DHH のいるBasecamp 社から、GitHub へ移籍した、Eileen Uchitelle が、
複数データベース接続(read replica)と、ブラウザによるE2E の並列テストを実装した
最近のRailsは、大規模用
Basecamp, GitHub, Shopify 社などが中心。
日本では、Cookpad, マネーフォワード、Ruby開発とか
初めてのJavaScript 第3版 ―ES2015以降の最新ウェブ開発、オライリー、2017
この本は、10年以上やってないと、難しすぎて読めない。
だから、サーバー側をNode.js に変えることは難しい
同様に、Go も難しいから、現時点では、Ruby になる!

418:デフォルトの名無しさん
19/08/29 00:22:15.02 VY7wxkJm.net
シェルスクリプトと同じぐらいの速度とブログで読んで
perl6の処理系が高速化するまでは導入延期予定
速度さえなんとかなれば併用するつもり 新型の正規表現クール
---
perl5 の正規表現は
(?{perl-code})
(??{perl-code})
などがあるから使えると便利

419:デフォルトの名無しさん
19/08/29 00:40:07.63 mztHiQ0L.net
まあ考え方次第なんだけどね
$や@を使うことでスカラー変数と配列変数と連想配列変数を厳密に区別できて、違う型の変数に代入できなくするっていう
Perl6は更に進んで、静的な型指定をできるようにしようって、2000年代前半の時点で今のPHPとかJSがやろうとして方向に進んでたんだけど

420:デフォルトの名無しさん
19/08/29 01:56:31.92 mPTYynKQ.net
Perl 6の正規表現について - Qiita
URLリンク(qiita.com)
俺の知ってる正規表現と違う

421:デフォルトの名無しさん
19/08/29 09:08:01.33 VG5IecJ5.net
童貞「俺の知ってる性器表現と違う」

422:デフォルトの名無しさん
19/08/29 20:01:19.83 jZJUsq6Z.net
定期的にruby布教しては信者を得られず帰っていく
逆効果だと思うんだけどなw

423:デフォルトの名無しさん
19/08/29 20:57:49.50 VG5IecJ5.net
>>416
末期の日本軍みたいよな。
日本生まれのRubyがその生みの親と同じ末路を辿るとはあまりに悲しい皮肉よ

424:デフォルトの名無しさん
19/08/30 00:19:45.85 LpXSw35l.net
日本軍は現場を知らない奴が出世して参謀とかになってるからおかしいことになった
自分は死ぬ気が無いのに他人に市ねと命令するクズ
rubyの人は現場で手を動かしてる分、かなりマシ

425:デフォルトの名無しさん
19/08/30 02:13:05.42 /ghu33Nb.net
その肝心要の現場でRubyが動いてないって話をしてんだよなぁ…

426:デフォルトの名無しさん
19/08/30 02:39:34.78 1KmU2S17.net
ム版でここまでヘイトを集められるのはある意味ユニークスキル

427:デフォルトの名無しさん
19/08/30 05:01:24.34 +D5+4uT9.net
貴様ら!大日本帝国陸海軍を愚弄するか!
Ruby如きの比喩に使うな馬鹿者が!

428:デフォルトの名無しさん
19/08/30 05:19:46.60 Nlc2IKSs.net
ここ以外にプログラミングについて活発に議論してるとこってある?
QiitaとかTwitterみたいなとこじゃなくて匿名でかしこまってないのがええ

429:デフォルトの名無しさん
19/08/30 06:18:12.78 LpXSw35l.net
>>421
今の日本では馬鹿の象徴だよ?帝国陸海軍

430:デフォルトの名無しさん
19/08/30 07:57:05.44 yjTPnYwz.net
つーかなんで日本軍が出てくるのか意味不明

431:デフォルトの名無しさん
19/08/30 08:10:38.43 jhLEZvWx.net
大失敗の象徴としてだろけど、Rubyと絡めるのは意味不明
なんであれどういうものであれ批判するヤツ、アンチはことさら大げさに言うのが定番のだろう

432:デフォルトの名無しさん
19/08/30 08:49:34.60 1L0XShC3.net
やれやれ、じゃあまた俺がシェルスクリプトのお題でも出してやろうかね?

433:デフォルトの名無しさん
19/08/30 08:53:17.88 1L0XShC3.net
じゃあいつもとは趣向を変える
Bourne ShellとPOSIXシェルの違いを教えて下さい。

434:デフォルトの名無しさん
19/08/30 08:53:40.01 1L0XShC3.net
じゃあいつもとは趣向を変えて
と書こうとしたw

435:デフォルトの名無しさん
19/08/30 09:03:36.53 jhLEZvWx.net
いつもの承認欲求だけだろ

436:デフォルトの名無しさん
19/08/30 09:07:30.27 yjTPnYwz.net
>>422
知恵袋いけ

437:デフォルトの名無しさん
19/08/30 09:30:45.39 1L0XShC3.net
Bourne ShellとPOSIXシェルの違い、教えてくださらぬか?

438:デフォルトの名無しさん
19/08/30 10:04:47.60 BnHn7wdj.net
日英両対応のクリップボードへのコピーとペーストの部分どうしてる?
cygwin Linux mac などを
uname | grep "CYGWIN" > /dev/null && do-something
のようなかんじの分岐を copy_to_clipboard paste_from_clipboard で考えている
そして コピーのときに
cygwin だと > /dev/clipboard
linux や mac だと別の何かになる
本当は perlモジュールの Clipboard が OS の差異を吸収してくれる予定だったが
日本語だけはうまく処理してくれないから半分車輪の最発明ののようなことになった

439:デフォルトの名無しさん
19/08/30 10:50:41.75 1L0XShC3.net
そんなことやろうと思ったこともないんだが、
どうやってSSH越しにクリップボードに入れられるんだ?
それシェルの機能なのか?端末の機能では?

440:デフォルトの名無しさん
19/08/30 10:57:15.04 BnHn7wdj.net
SSH 超


441:しじゃなく、ポータブルなコードが欲しかった 環境によってクリップボードのアクセス違うから Xxx | copy_to_clipboad paste_from_clipboard | Yyy のように書けたら楽じゃないか?



442:デフォルトの名無しさん
19/08/30 11:18:44.20 yjTPnYwz.net
macはpbpaste/pbcopy
linuxはxselかxclip

443:デフォルトの名無しさん
19/08/30 11:28:41.14 BnHn7wdj.net
thanks

444:デフォルトの名無しさん
19/08/30 11:34:05.64 1L0XShC3.net
コピペしたいとか思わないからなぁ。
コピーはともかくペーストしたいわけでバイナリのペーストもなくはないけど
通常は出力したテキストのペーストでしょ?
ファイルに書き出せばいいじゃんって思っちゃう。
まあ別にコピペを否定したいわけじゃなくて、やろうと思わないなって話。

445:デフォルトの名無しさん
19/08/30 18:38:47.93 CkOCkFW4.net
Cygwinならclip.exeを呼び出せばいいんじゃない

446:デフォルトの名無しさん
19/08/30 19:33:44.50 yjTPnYwz.net
>>438
clip.exeはペーストできない
cygwinは/dev/clipboard

447:デフォルトの名無しさん
19/08/31 00:01:36.74 nixiltP4.net
getclipboard使えば

448:デフォルトの名無しさん
19/08/31 02:48:40.05 0iGUnrw4.net
クリップボードみたいなGUIに強く依存した(例えば画像や装飾のある文章を切り貼りできる)機能は
なかなかOS間・ベンダー間で協調したり標準化したりするのが難しそう。
素人考えだが。

449:デフォルトの名無しさん
19/08/31 03:00:42.96 4qIvp+ND.net
httpみたいにMIMEを流用すればいいんじゃないの?
扱えないタイプはぺっすればいいんだし

450:デフォルトの名無しさん
19/08/31 08:47:44.75 0iGUnrw4.net
ではその旨を各社にお伝えください。

451:デフォルトの名無しさん
19/08/31 08:49:53.41 0iGUnrw4.net
一個人がアレコレ妄想するぶんには訳ないけど、各々のベンダーが顧客の体験を変えることなく(つまりインターフェース面での過去互換性を最小限にして)
「ぼくのかんがえたさいきょう」のクリップボード仕様を採用してくれるとは到底思えんがね。

452:デフォルトの名無しさん
19/08/31 13:00:30.93 LtUqD47M.net
クリップボードってそのままのデータをやり取りするIPCだろ

453:デフォルトの名無しさん
19/08/31 13:02:39.70 MkewyPY7.net
それはパイプ。クリップボードはクリップボード

454:デフォルトの名無しさん
19/08/31 13:08:50.01 LtUqD47M.net
クリップボードは共有メモリだろパイプじゃない

455:デフォルトの名無しさん
19/08/31 13:13:42.31 MkewyPY7.net
IPCというならだよ。プロセス間通信という感じではない、言うような共有メモリだな
どのプロセスが書いたのか知らん知ってるフォーマットのデータを読むだけだし

456:デフォルトの名無しさん
19/08/31 13:18:28.51 LtUqD47M.net
IPCは共有メモリ、セマフォ、パイプなどのプロセス間通信の総称なんだが

457:デフォルトの名無しさん
19/08/31 13:22:09.06 MkewyPY7.net
共有メモリは広義にはIPCに含まれるだろうが、通信ではないし、クリップボードはプロセス間通信ではないな
共有メモリを使ったプロセス間通信はあるだろうけど、クリップボードがプロセス間通信かと言えば違うだろう。パイプはもろにプロセス間通信という
クリップボードってそのままのデータをやり取りする共有メモリだろ
でまさしくだし、それでいいんじゃね

458:デフォルトの名無しさん
19/08/31 13:26:20.90 LtUqD47M.net
共有メモリは広義にも狭義にもプロセス間通信なんだが
プロセス間でデータをやり取りするための機構だ

459:デフォルトの名無しさん
19/08/31 13:36:21.83 MkewyPY7.net
プロセス間でデータのやりとりさえできれば、通信するプロセス間の関係性即時性一時性なんて全く関係ないのもプロセス間通信と思えるならそうだろな
そもそもプロセス間通信をするために用意したのが共有メモリだと思うよ。共有メモリを使うから=プロセス間通信ではないだろうとは俺は思うけど。ファイルシステムもIPCになる感じになるな、そのままのデータをやり取りするなら

460:デフォルトの名無しさん
19/08/31 13:39:19.82 iNpyZmkw.net
つーかどれとどれのプロセスの通信なんだよw

461:デフォルトの名無しさん
19/08/31 13:40:17.30 iNpyZmkw.net
コピペは重要な機能なのに、標準化されなかったから
vimからemacsへのコピペすら出来ない

462:デフォルトの名無しさん
19/08/31 13:40:59.50 iNpyZmkw.net
UNIX思想の限界の一つだよな

463:デフォルトの名無しさん
19/08/31 13:43:50.78 LtUqD47M.net
IPCの意味調べてこいよ
オレオレ定義を語られても困るんだけど

464:デフォルトの名無しさん
19/08/31 13:48:52.24 MkewyPY7.net
自分でも共有メモリと言っているのに、IPCに拘る方がわからんわ
クリップボードが


465:IPCと言われると違和感しかないな。ファイルシステムもになるからw言っている意味がわからんのならIPCとはなんのためになんぞやを調べた方がいいよ



466:デフォルトの名無しさん
19/08/31 13:51:06.96 LtUqD47M.net
だからおまえが調べてこいよ
わけわからんやつだな

467:デフォルトの名無しさん
19/08/31 13:56:35.05 ndYyEVRN.net
調べてきたぞ。そのうえで意見は何も変わらん。
なにか言いたいなら、自分の口で言いたまえ
つーか俺が不利になることを俺が調べると思ってんの?w

468:デフォルトの名無しさん
19/08/31 13:57:20.39 LtUqD47M.net
じゃあ頭悪いんだから無理するなよ

469:デフォルトの名無しさん
19/08/31 13:57:22.41 MkewyPY7.net
言われるまでもなく知ってるよというのを匂わせていたんだけどww
プロセスがどのプロセスが(読むか読まれるか知らんけど)書く、どこぞのプロセスが誰が書いたのか知らんのを読む
対象が共有メモリだからIPCとでも言っているようだけど?だからIPCとはなんのためになんぞやを調べた方がいいと言っているのだが

470:デフォルトの名無しさん
19/08/31 13:58:45.11 wH7D17fo.net
共有メモリに関数(プロシージャー)をおいて
呼び出すのがI(インターネット)P(プロシージャ)C(コール)なわけだが?

471:デフォルトの名無しさん
19/08/31 13:59:35.20 MkewyPY7.net
ちょっと訂正
プロセスが(どのプロセスが読むか読まれんか知らんけど)書く、どこぞのプロセスが誰が書いたのか知らんのを読む
クリップボードってそのままのデータをやり取りする共有メモリだろ
でいいだろうに、なんでIPCのこだわっているのかさっぱりわからんな

472:デフォルトの名無しさん
19/08/31 13:59:51.95 gu7Dz/47.net
馬鹿二匹
馬鹿1「俺のほうが知ってる。お前調べてこい。そして俺に教えろ。」
馬鹿2「俺のほうが知ってる。お前調べてこい。そして俺に教えろ。」

473:デフォルトの名無しさん
19/08/31 14:00:12.26 LtUqD47M.net
お大事に

474:デフォルトの名無しさん
19/08/31 14:02:37.03 ITKcc2Rb.net
割り込んで良い?
Bourne ShellとPOSIXシェルの違いを教えて下さい。

475:デフォルトの名無しさん
19/08/31 14:57:30.64 Zp9ErCWA.net
うーーんメーカー規格と標準規格で中身はおんなじとか

476:デフォルトの名無しさん
19/08/31 15:05:45.40 0iGUnrw4.net
まーーーた始まった。
しかも今度はシェルの話題ですらないw

477:デフォルトの名無しさん
19/08/31 15:11:29.97 0iGUnrw4.net
>>466
知らんけど
いわゆるBourneシェルはUnix V7あたりの「古き良き」シェルを指す?
でPOSIXはそのBシェルと前後して登場していた種々のシェルの微妙な非互換性を埋めるべく
Unix V7が全盛だった頃よりもっと後になって登場した「実装のない」シェル?
だからPOSIXシェルというのは正確にはPOSIX準拠シェルで
POSIX準拠シェルにはBシェルで使えない機能もある。具体的には set -o <機能の長い名称> とかかな?。
Bシェルが動いてる環境にPOSIXに準じた書き方をした筈の(つまり「現時点での」最大限の互換性がある筈の)
シェルを持っていっても,動かない場合がある。
POSIXはBシェルを大いに参考にはしたかも知れないが,Bシェルでも動くようにとか,
ましてBシェルと過去互換であるようになんてことは念頭に置いてない。
どうっすか先生。

478:デフォルトの名無しさん
19/08/31 15:16:19.89 a1oQmbic.net
>>467 >>469
あー、なりたちとかそういうのじゃなくて
何が出来て何が出来ないとか機能的な話です。

479:デフォルトの名無しさん
19/08/31 15:30:41.04 4qIvp+ND.net
>>470
POSIXの仕様書は読んだの?

480:デフォルトの名無しさん
19/08/31 15:57:20.87 0iGUnrw4.net
>>470
URLリンク(pubs.opengroup.org)

481:デフォルトの名無しさん
19/08/31 16:03:38.88 3i1dPJsj.net
Bourne Shellの仕様がないと比べようがないんだが?

482:デフォルトの名無しさん
19/08/31 16:40:24.77 0iGUnrw4.net
「ないんだが?」←草

483:デフォルトの名無しさん
19/08/31 16:50:51.67 4qIvp+ND.net
>>473
ソース公開されてるから自分で読みなよ
何甘えてんだよ

484:デフォルトの名無しさん
19/08/31 17:01:32.42 3i1dPJsj.net
やっぱりだれもBourne Shellの仕様を知らないのかな?

485:デフォルトの名無しさん
19/08/31 18:16:09.72 0iGUnrw4.net
だって「いつの」「どのOSに搭載された」「どんなベンダーが配布していた」Bシェルか一切指定されてないからね。
候補は幾つかあるものの出しようがない。

486:デフォルトの名無しさん
19/08/31 18:19:00.41 0iGUnrw4.net
まさかと思うがBourne Shellが絶対不可侵,永久不滅の存在だなんて思ってないよな。
円周率じゃないんだから,単に「Bourne Shellの仕様」と言っただけで特定できる訳がない。
「Windows XPの仕様」←これがどれだけ曖昧な言明か,ちょっとでも真面目に
プログラミングとその文書化に取り組んだなら分かる筈。

487:デフォルトの名無しさん
19/08/31 18:20:26.43 0iGUnrw4.net
「Solaris 10の仕様」「Unix V7の仕様」←「Windowsのことなんてシラネーシ」みたいな反論を先に封じておくために
Windowsでない例を挙げておこう。

488:デフォルトの名無しさん
19/09/01 00:08:11.60 1i1y7fC5.net
POSIXって右と左で中身がガバガバだから作られた最低限の共通仕様じゃないのか
無人島じゃ家電は役立たずでもアーミーナイフならどこでも使える的な

489:デフォルトの名無しさん
19/09/01 00:12:22.70 7+2OKNJu.net
>>478
言い訳してるようにしか見えんが、
特定できないというのなら、一例としてお前のよく知る
○○と仮定して答えりゃいいやん

490:デフォルトの名無しさん
19/09/01 00:15:35.40 7+2OKNJu.net
>>480
POSIX準拠シェルの説明としては間違ってないが、
Bourne Shellとの比較であれば、POSIX準拠シェルの方が機能が多い
POSIX準拠シェルを「最低限の共通仕様」というのなら
Bourne Shellは最低限の仕様すら満たしてない使えない実装

491:デフォルトの名無しさん
19/09/01 00:36:05.17 tx4fDw07.net
最低限の共通仕様と言ってるだろ、最低限の仕様じゃないよ

492:デフォルトの名無しさん
19/09/01 00:37:19.00 5y1tL0M+.net
>>478
複数の機能の複合体のWindowsXPと、もう誰もいじってないBourne Shellを
同列に並べるあたり、必死に言い訳をしてるようにしか見えんなあ

493:デフォルトの名無しさん
19/09/01 01:30:55.26 7+2OKNJu.net
>>483
だからBourne Shellは「最低限の共通仕様」を
満たしてないんだってば

494:デフォルトの名無しさん
19/09/01 02:19:47.47 tx4fDw07.net
Bourne ShellをベースにBourne Shellの機能を満たすように作るだろ、最低限でも
Bourne Shellの機能に飽き足らず拡張した部分の最低限の共通仕様だろ
最低限の仕様といえばBourne Shellの仕様だろ

495:デフォルトの名無しさん
19/09/01 02:27:49.82 V0W1RnmC.net
Bourne ShellはPOSIX準拠じゃないから「最低限の共通仕様」を満たしてないんだってば

496:デフォルトの名無しさん
19/09/01 02:31:19.82 tx4fDw07.net
POSIXが出る前POSIXを作るときの話だよ。Bourne ShellはPOSIX準拠じゃないってズレすぎ
Bourne Shellに機能拡張した部分の最低限の共通仕様だろって言ってるだろに
そもそもだな、つっこみどころが違う、「(右と左で中身がガバガバだから作られた)共通仕様」なのか?と思うけどw

497:デフォルトの名無しさん
19/09/01 02:51:26.82 V0W1RnmC.net
「最低限の共通仕様」ってPOSIXのことじゃないの?

498:デフォルトの名無しさん
19/09/01 03:07:24.67 tx4fDw07.net
Bourne Shellに機能拡張した部分の最低限の共通仕様=POSIX
「Bourne Shellに」「機能拡張した部分の」「最低限の共通仕様」だって言ってるだろに
Bourne Shellありき
どこのぞのバージョンが、それに a b c etc... な機能を追加
どこのぞのバージョンが、それに b c d etc... な機能を追加
Bourne Shell + b + c = POSIX
という意味だろう>>480のいう最低限の共通仕様は

499:デフォルトの名無しさん
19/09/01 03:21:19.69 V0W1RnmC.net
POSIXはkshをベースに作った仕様だけどね

500:デフォルトの名無しさん
19/09/01 03:22:16.21 tx4fDw07.net
>>487なんて変なこと言い出さずに、それを言えよw

501:デフォルトの名無しさん
19/09/01 03:28:52.19 V0W1RnmC.net
だからBourne ShellはPOSIX準拠じゃないよね
でいいんでしょ

502:デフォルトの名無しさん
19/09/01 03:31:36.55 tx4fDw07.net
なにをそんなに食い下がっているのか意味わからん。なんの意味があるのそれに?
(そんなこと言い出すのはアホか?としか思えんぞw、常識的にPOSIXなんて存在する前のにPOSIX準拠もなにもないだろう)

503:デフォルトの名無しさん
19/09/01 03:33:35.57 V0W1RnmC.net
なんでPOSIXが存在する前の話になってるのか分からんけどねw

504:デフォルトの名無しさん
19/09/01 03:35:57.77 tx4fDw07.net
「POSIXって」「右と左で中身がガバガバ」「だから」「[作られた]」
って書いてあるだろう
わざとなのかわざとじゃないのかわからんが、人のレスを読む努力はした方がいいぞ
そうしたら変なこと言い出さずに変なこと言ったことを誤魔化すような醜態はさらさないだろうw

505:デフォルトの名無しさん
19/09/01 03:39:37.50 V0W1RnmC.net
>>490で言ったこと訂正しとけよw

506:デフォルトの名無しさん
19/09/01 03:40:28.13 tx4fDw07.net
そのレスは読めないなw
俺のレスが読めなくてのとしか思えん

507:デフォルトの名無しさん
19/09/01 04:22:29.76 5y1tL0M+.net
ごめんなさいって言えば良いのになんで突っ張るかねぇ

508:デフォルトの名無しさん
19/09/01 04:34:43.52 YaEsaVCE.net
>>488
> Bourne Shellに機能拡張した部分の最低限の共通仕様
それ日本語になってないだろ?w
自分が言った言葉を無理やり辻褄が合う(?)ように改変したから
そういう意味不明な言葉になってるんだぞ

509:デフォルトの名無しさん
19/09/01 04:36:27.29 YaEsaVCE.net
>>491
> POSIXはkshをベースに作った仕様だけどね
Bourne Shellではなくkshをベースに作られたんだな

510:デフォルトの名無しさん
19/09/01 04:40:50.68 tx4fDw07.net
ん?
Bourne Shellに機能拡張した部分の最低限の共通仕様
Bourne Shellありき
どこのぞのバージョンが、それに a b c etc... な機能を追加
どこのぞのバージョンが、それに b c d etc... な機能を追加
Bourne Shell + b + c = POSIX
という意味だろう>>480のいう最低限の共通仕様は
どう、日本語になってないの?

511:デフォルトの名無しさん
19/09/01 04:41:03.98 YaEsaVCE.net
>>477
> 候補は幾つかあるものの出しようがない。
候補が有るなら出せるのでは?w
後方がいくつか有るというのなら、その候補を言ってみなよ。
その中で最後に作られたもの(or 一番機能が多いと思われるもの)に
すればいいだけだからさ

512:デフォルトの名無しさん
19/09/01 04:42:29.94 YaEsaVCE.net
>>502
Bourne Shellに機能拡張した「部分」
の部分とはどこの部分?
その「部分」の「最低限の」「共通仕様」がPOSIXなんでしょ?

513:デフォルトの名無しさん
19/09/01 04:43:18.76 tx4fDw07.net
>>502 に書いてあるけど?

514:デフォルトの名無しさん
19/09/01 04:44:02.38 YaEsaVCE.net
>>505
書いてないから言ってる
「部分」=○○
という形で言えばいいだけ
はいどうぞ

515:デフォルトの名無しさん
19/09/01 04:44:51.13 tx4fDw07.net
b と c だよ

516:デフォルトの名無しさん
19/09/01 04:48:27.13 YaEsaVCE.net
b と c があって、その部分の
最低限の共通仕様がPOSIXなわけね

517:デフォルトの名無しさん
19/09/01 04:49:02.25 tx4fDw07.net
そう最初から言ってる、書いてるんだけどなあww

518:デフォルトの名無しさん
19/09/01 04:49:14.02 YaEsaVCE.net
つまり、Bourne ShellはPOSIXには含まれないと

519:デフォルトの名無しさん
19/09/01 04:50:02.57 tx4fDw07.net
ああ、違う、違う読み方してんのか??
どこのぞのバージョンが、それに a b c etc... な機能を追加
どこのぞのバージョンが、それに b c d etc... な機能を追加
なんぞの共通の最低限の共通仕様だからね

520:デフォルトの名無しさん
19/09/01 04:50:42.66 tx4fDw07.net
>>510
ん?
Bourne Shell + b + c = POSIX
って書いてるんだけど?

521:デフォルトの名無しさん
19/09/01 04:51:10.99 YaEsaVCE.net
> なんぞの共通の最低限の共通仕様だからね
お前「部分」って言ったよね?
Bourne Shellに機能拡張した部分(b+c)の最低限の共通仕様

522:デフォルトの名無しさん
19/09/01 04:52:24.67 tx4fDw07.net
それに a b c etc... な機能を追加
a b c etc... なんぞは部分だわな

523:デフォルトの名無しさん
19/09/01 04:52:27.35 YaEsaVCE.net
> b と c だよ
言質とりましたーw

Bourne Shellに機能拡張した部分(b+c)

(b+c)の最低限の共通仕様がPOSIXだって言いましたー

524:デフォルトの名無しさん
19/09/01 04:53:50.39 tx4fDw07.net
なにを喜んでいるのか意味わからんな。どこになんの言質??

525:デフォルトの名無しさん
19/09/01 04:54:23.93 YaEsaVCE.net
>>515をみろ

526:デフォルトの名無しさん
19/09/01 04:55:11.18 tx4fDw07.net
だから、なんの言質かと聞いているんだが

527:デフォルトの名無しさん
19/09/01 04:56:08.38 YaEsaVCE.net
Bourne Shellに機能拡張した「部分」が(b+c)だって言質とりましたーw

528:デフォルトの名無しさん
19/09/01 04:57:06.97 YaEsaVCE.net
  /\___/\
/ /    ヽ ::: \
| (●), 、(●)、 |    / ̄ ̄ ̄ ̄ ̄ ̄ ̄
|  ,,ノ(、_, )ヽ、,,   |  < まーたはじまった
|   ,;‐=‐ヽ   .:::::|    \_______
\  `ニニ´  .:::/
/`ー‐--‐‐―´´\

529:デフォルトの名無しさん
19/09/01 04:59:06.93 tx4fDw07.net
まさか、POSIXとは (b+c)のことだって言ったと言っているわけじゃないだろうね?
Bourne Shell + b + c = POSIX
って書いてあるだろう。POSIXとはこれのことだと言っているのだろうとは俺は言っているけど。それも俺の主張ではなくて>>840の言いたいことはだがなw

530:デフォルトの名無しさん
19/09/01 05:00:27.58 JXg8T9pY.net
キチガイ VS キチガイ
ファイ!

531:デフォルトの名無しさん
19/09/01 05:00:57.18 tx4fDw07.net
>>521
× >>840の言いたいことは
>>480の言いたいことは
いい加減長いw

532:デフォルトの名無しさん
19/09/01 05:02:27.14 YaEsaVCE.net
>>521
だから
「Bourne Shelに」に「機能拡張した部分(b+c)」の「最低限の共通仕様」=POSIXだろ

533:デフォルトの名無しさん
19/09/01 05:03:43.36 JXg8T9pY.net
>>523
長くてもいいよ。
見てて面白いからもっとやれ。
どうせこんな場末のスレなんてチガイ同士の喧嘩かスクリプトくらいでしか活気付かないんだから。

534:デフォルトの名無しさん
19/09/01 05:04:01.75 tx4fDw07.net
>>524
それでいいよ(?)で?

535:デフォルトの名無しさん
19/09/01 05:05:08.99 YaEsaVCE.net
>>526
で、って最初から言ってる。
日本語になってないと。

536:デフォルトの名無しさん
19/09/01 05:05:14.28 tx4fDw07.net
>>525
すぐに喧嘩とか思っちゃうのねw

537:デフォルトの名無しさん
19/09/01 05:05:42.43 tx4fDw07.net
>>527
だから、どうなってないのかと聞いているんだが?

538:デフォルトの名無しさん
19/09/01 05:11:25.25 YaEsaVCE.net
>>529
Bourne Shellに機能拡張した部分(b+c)の最低限の共通仕様 がPOSIX
↑日本語になっていない
↓正しい日本語
Bourne Shellを機能拡張したシェルの共通仕様がPOSIX

まあ↑は日本語としては正しいが、言ってることは間違いだけどな
正解
Bourne Shellを機能拡張したkshのサブセットがPOSIX

539:デフォルトの名無しさん
19/09/01 05:17:42.82 tx4fDw07.net
その俺のからはその添削後の意味は取れないのね?ふーん
まあ、それならすまんかった。(なんかそうとは思えんけどw)

540:デフォルトの名無しさん
19/09/01 05:18:51.37 YaEsaVCE.net
まさにこれw
499 名前:デフォルトの名無しさん[sage] 投稿日:2019/09/01(日) 04:22:29.76 ID:5y1tL0M+ [2/2]
ごめんなさいって言えば良いのになんで突っ張るかねぇ

541:デフォルトの名無しさん
19/09/01 05:19:56.80 tx4fDw07.net
いや、言ってるけど
そこまで読めないのか?というのは拭えないというだけで

542:デフォルトの名無しさん
19/09/01 05:26:24.29 YaEsaVCE.net
で、話を戻そうか?
>>477
> 候補は幾つかあるものの出しようがない。
候補が有るなら出せるのでは?w
後方がいくつか有るというのなら、その候補を言ってみなよ。
その中で最後に作られたもの(or 一番機能が多いと思われるもの)に
すればいいだけだからさ

543:デフォルトの名無しさん
19/09/01 05:31:12.93 YaEsaVCE.net
忘れているかもしれないけど、
Bourne ShellとPOSIXシェルの機能の違いはなにか?
という話です。

544:デフォルトの名無しさん
19/09/01 13:23:16.11 fPTBNnye.net
やっぱりどこでも動くシェルスクリプトなんて幻想なんだねw

545:デフォルトの名無しさん
19/09/01 13:28:25.22 hBg0Iyqv.net
まーた始まった

546:デフォルトの名無しさん
19/09/01 13:38:39.47 sO2LPoJE.net
昨日神保町の本屋でこんな本みつけた。ペラペラの薄い本で妙に安い(300円+税)。内容は初心者向け。
シェルスクリプト入門の入門
URLリンク(ankokudan.org)

547:デフォルトの名無しさん
19/09/01 14:14:10.44 IrmDadb6.net
どうでもよさそうなものださなくていいよ

548:デフォルトの名無しさん
19/09/01 18:13:48.55 Zrnas7uJ.net
UNIXの分裂とかも、こんな不毛な言い争いから始まったんだよなw

549:デフォルトの名無しさん
19/09/01 18:27:20.62 5y1tL0M+.net
AT&Tの解体が原因じゃないの?

550:デフォルトの名無しさん
19/09/01 19:11:34.33 ugxLNVG7.net
う、うん…

551:デフォルトの名無しさん
19/09/01 23:36:59.29 V0W1RnmC.net
自分の間違いを素直に認められないやつは厄介だなw

552:デフォルトの名無しさん
19/09/02 02:57:56.84 qpVgNjbx.net
キチガイ

553:デフォルトの名無しさん
19/09/02 05:42:07.68 moJkj9e4.net
こんな場末の記事でしか偉ぶれないなんて,かわいそう。

554:デフォルトの名無しさん
19/09/02 06:47:31.22 mejwNGsW.net
こんな場末のスレで煽りしか入れられないなんて,かわいそう。

555:デフォルトの名無しさん
19/09/02 08:23:13.45 KSSQVEnP.net
>>546
自分を可哀想だと言い始めたら、人生終わりだよ

556:デフォルトの名無しさん
19/09/02 08:29:03.25 mejwNGsW.net
>>547
>>546

557:デフォルトの名無しさん
19/09/02 09:13:03.84 moJkj9e4.net
もしかして >>546 って >>545 に「言い返した」つもりなのかね。
ヤベーなw

558:デフォルトの名無しさん
19/09/02 09:29:50.35 mejwNGsW.net
>>549
>>546

559:デフォルトの名無しさん
19/09/02 10:24:24.46 PyPzRv4a.net
Bourne ShellとPOSIXシェルの機能の違いはなにか?
という話はどうなりましたか?

560:デフォルトの名無しさん
19/09/02 11:36:53.96 PWSlwBbe.net
※ 忘却の彼方に流れていきました

561:デフォルトの名無しさん
19/09/02 18:30:44.36 1C5pGEJg.net
URLリンク(tangentsoft.com)
POSIX shellと比較するならkshの方が適切な希ガス

562:デフォルトの名無しさん
19/09/02 19:04:17.99 PyPzRv4a.net
Bourne ShellとkshだったらBourne Shellの方が有名だろ?
何を持って適切と言ってるのか知らんけど

563:デフォルトの名無しさん
19/09/02 22:23:56.37 8MncpZHQ.net
逆に言えば有名だから何なんだという話でもあるなw

564:デフォルトの名無しさん
19/09/02 23:36:30.01 PyPzRv4a.net
有名だから聞きたいんだよw
UbuntuとDebianの違いはよく書きれても
UbuntuとLinuxfxの違いなんて気にしないでしょ?
言われて初めて、へー、そんなのあったんだーレベルだから

565:デフォルトの名無しさん
19/09/02 23:36:49.17 PyPzRv4a.net
UbuntuとDebianの違いはよく聞かれても

566:デフォルトの名無しさん
19/09/02 23:45:33.27 KSSQVEnP.net
>>553
$ bash -c 'unset a b;echo 10|read a;let b=a+10;echo $b'
10
$ ksh -c 'unset a b;echo 10|read a;let b=a+10;echo $b'
20
$
どっちがPOSIX的に正しいの?

567:デフォルトの名無しさん
19/09/02 23:46:05.05 KSSQVEnP.net
>>558
letは正しくないからそこは放置でw

568:デフォルトの名無しさん
19/09/03 00:05:50.68 zMaEK75z.net
ほぅ…
$ bash -c 'unset a b;echo 10| { read a;let b=a+10;echo $b; }'
20

569:デフォルトの名無しさん
19/09/03 00:13:50.73 1Annr1ic.net
>>560
へーそんな挙動するのか。

570:デフォルトの名無しさん
19/09/03 00:31:57.81 KovswbEV.net
パイプの右側がサブシェルになるのかどうかはPOSIXで規定されてない
どちらも間違いじゃないが、bashの動きのほうが多い

571:デフォルトの名無しさん
19/09/03 01:10:57.53 estwIa98.net
bash --posixでもうっかり配列は動く悲しみ

572:デフォルトの名無しさん
19/09/03 01:31:09.86 WJPOiKcg.net
>>562
多いとは?
POSIXshellはksh派生なのに動きが違うのがなんとも

573:デフォルトの名無しさん
19/09/03 02:41:22.59 KovswbEV.net
>>564
bash, dash, mksh, yash, posh が同じ動き
ksh, zsh が同じ動き

574:デフォルトの名無しさん
19/09/03 02:44:16.76 KovswbEV.net
>>564
POSIXシェルという実装は存在しない
だからkshの動きはPOSIXシェルの仕様通りと言える
bashはPOSIXシェルそのものではない。

575:デフォルトの名無しさん
19/09/03 02:56:06.66 1Annr1ic.net
>>566
「kshの動きはPOSIXシェルの仕様通り」
正確には
「kshの動きをPOSIXがシェルの仕様として採用した」
だな。

576:デフォルトの名無しさん
19/09/03 13:39:17.34 SNzApyUr.net
これマジ?

577:デフォルトの名無しさん
19/09/03 17:49:01.73 U7UFDLpo.net
>>566,567のこと?>>567の下は上と同じこと言っているとしか見えないが
だったらマジじゃないだろう

578:デフォルトの名無しさん
19/09/11 12:29:34.80 0GNwCqDq.net
POSIXは他の環境でも動く共通規約
GNUのソフトは高機能だがそれ自体が方言ということ
組み込みは機能を削ぎ落とすため色々知恵が必要
一般人はbashだけ使ってればおk
こんな認識で問題ない?

579:デフォルトの名無しさん
19/09/11 12:40:30.30 3HQIKx2V.net
やっぱりどこでも動くシェルスクリプトなんて幻想なんだね…

580:デフォルトの名無しさん
19/09/11 12:52:40.14 IEmfVi5w.net
>>570
Linuxユーザーという前提?
POSIXに準拠していれば、多くの環境で動かすことが出来る
GNUはPOSIX準拠+高機能な拡張(標準語+方言)
GNU以外でも多かれ少なかれ拡張されてる
組み込みも完璧ではないが、多くの場合POSIX準拠に近い
一般人はWindowsだけ使ってればおk
dashで動かす必要があるなら、bashの拡張は使えない

581:デフォルトの名無しさん
19/09/11 12:53:13.99 IEmfVi5w.net
>>571
  /\___/\
/ /    ヽ ::: \
| (●), 、(●)、 |    / ̄ ̄ ̄ ̄ ̄ ̄ ̄
|  ,,ノ(、_, )ヽ、,,   |  < まーたはじまった
|   ,;‐=‐ヽ   .:::::|    \_______
\  `ニニ´  .:::/
/`ー‐--‐‐―´´\

582:デフォルトの名無しさん
19/09/11 13:53:14.59 /GwFJIf/.net
winでwsl使えるようになったし、bashが正義じゃないの?
macは知らないw

583:デフォルトの名無しさん
19/09/11 13:59:37.76 ujkZonF+.net
だからその、WSLのUbuntuの
/bin/sh は dash だっていってんの

584:デフォルトの名無しさん
19/09/11 14:06:58.77 Alp4BtBi.net
aptitude install bash
#!/usr/bin/bash

585:デフォルトの名無しさん
19/09/11 14:18:05.48 0GNwCqDq.net
>>572
Mint使ってるけどdashってどんな時に必要なの
軽さが求められるってラズパイやドローン辺り?
MacはBSDだからLinuxのコマンドオプションが使えないってのは面倒そうね
だからってそっちにcoreutils入れるのもアレだが

586:デフォルトの名無しさん
19/09/11 14:38:42.01 ujkZonF+.net
>>577
そんなもん、こんなの重いbash使うまでもないですよねってときに使うに決まってるじゃん
/bin/bzdiff:#!/bin/sh
/bin/bzexe:#!/bin/sh
/bin/bzgrep:#!/bin/sh
/bin/bzmore:#!/bin/sh
/bin/egrep:#!/bin/sh
/bin/fgrep:#!/bin/sh
/bin/fsck.btrfs:#!/bin/sh -f
/bin/gunzip:#!/bin/sh
/bin/gzexe:#!/bin/sh
/bin/gzexe:#!/bin/sh
/bin/lesspipe:#!/bin/sh
/bin/setupcon:#!/bin/sh
/bin/uncompress:#!/bin/sh
/bin/unicode_start:#!/bin/sh
/bin/zcat:#!/bin/sh
/bin/zcmp:#!/bin/sh
/bin/zdiff:#!/bin/sh
/bin/zegrep:#!/bin/sh
/bin/zfgrep:#!/bin/sh
/bin/zforce:#!/bin/sh
/bin/zgrep:#!/bin/sh
/bin/zless:#!/bin/sh
/bin/zmore:#!/bin/sh
/bin/znew:#!/bin/sh

587:デフォルトの名無しさん
19/09/11 15:20:07.21 wb8QVF41.net
bashが使えない環境のほうが特殊だよなぁ
素直に #!/bin/bash で書いときゃいいんじゃね
ところで、#!/usr/bin/env bash って使えるのか?

588:デフォルトの名無しさん
19/09/11 15:55:05.69 ujkZonF+.net
特殊だろうがbashが使えない環境は現実として存在してるわけで

589:デフォルトの名無しさん
19/09/11 20:12:45.01 sXUhuJjU.net
またひとりで必死だな

590:デフォルトの名無しさん
19/09/11 22:51:13.32 zVcNXGaB.net
またお前か

591:デフォルトの名無しさん
19/09/12 00:11:11.54 GvsY5hZk.net
普通にPCでLinux(とWindows)使ってるだけならbashだけでなんにも困らないよなあ
これはLinuxに限らずちゃんとしたUnixを使う場合もそうだけど、客先で使ったり客に何かを提供する場合は気を遣うべきだが
自分で自由にできるAIXやHP-UXならbashインストールすりゃいいんだし

592:デフォルトの名無しさん
19/09/12 01:59:12.99 Uy9QyXie.net
つまりPOSIXなんてピエロだとwww

593:デフォルトの名無しさん
19/09/12 02:11:14.84 iqiqB/tU.net
オープンソース開発者「そら、お前がお前のためだけのツール作るなら、それでいいだろな。責任もなんにもないし」

594:デフォルトの名無しさん
19/09/12 02:18:54.66 xw2iu/gH.net
MITとかの主要なOSSライセンス読んでみろ。
ソフトの使用でどんな損害被っても作者は責任持ちません。
それに同意しないと使えませんて書いてあるだろ。
オープンソース開発者こそ責任もなんもない。そのためのライセンスだから当たり前だが。
何を勘違いしてんのかねこいつはw

595:デフォルトの名無しさん
19/09/12 07:53:28.61 umd/llTn.net
>>574
macOSもzshがデフォだから実質Bashの機能が使える。

596:デフォルトの名無しさん
19/09/12 07:54:28.26 YLSbOzHc.net
JavaだとJREまるごとついてくるソフトも珍しくなかったし、
今だとコンテナでlibcからなにまで添付。
ストレージの容量に気を使わなくてよくなってるんだから時代に合わせて
開発するのが良いんじゃないかね。

597:デフォルトの名無しさん
19/09/12 07:55:04.48 umd/llTn.net
まーーーたいつもの自称神のPOSIXキチが暴れてんのか。

598:デフォルトの名無しさん
19/09/12 09:05:58.55 iqiqB/tU.net
>>587 問題はシバンをどうするかだよ。 zshを使うには#!/usr/bin/zshとしないといけない bashなら#!/bin/bashだ だがzshとbashをうまく使い分けてくれるわけじゃない シバンは#!/bin/shとするしかない そうするとUbuntuではdashになる



600:デフォルトの名無しさん
19/09/12 10:57:28.70 d/tSjguy.net
#!/usr/bin/zsh にすればいいだろう、そういう話でもあるのに特定のヤツだけがなぜか拘っているだけだろに
そいつもたいしたもん作ってないくせに

601:デフォルトの名無しさん
19/09/12 11:04:35.83 6grXRSs+.net
だけどそうするとzshが必須になるって話でしょ

602:デフォルトの名無しさん
19/09/12 11:12:45.55 d/tSjguy.net
>>587はzshがbashの代替になるという話じゃないの
bashとの違いはあるだろうけど、些細なちょっと直せばいいというのを含んでの
そもそも一般人は=特定の環境で動けばいいだけの人はの話でしょう

603:デフォルトの名無しさん
19/09/12 11:23:02.84 6grXRSs+.net
「一般人」をオレオレ定義して語るのはやめましょう
複数の環境を使う一般人もいるわけです

604:デフォルトの名無しさん
19/09/12 11:52:17.18 7qK8Dq0y.net
zshスクリプト書くならzsh必須
bashスクリプト書くならbash必須
当たり前の話だ

605:デフォルトの名無しさん
19/09/12 11:55:43.46 Xwf8i9TU.net
あたり前田のcracker

606:デフォルトの名無しさん
19/09/12 12:04:51.42 d/tSjguy.net
>>594
大多数でもなんでもいいけど、そういう意味だろう。それでも読めなさそうだが

607:デフォルトの名無しさん
19/09/12 12:40:22.35 6grXRSs+.net
一般人を勝手に定義すんなって言ってるのに、
そういう意味だろとか、わかってなさすぎw
一般人にそういう意味はありません

608:デフォルトの名無しさん
19/09/12 12:43:04.42 d/tSjguy.net
話の通じないこだわりぶりは、いつものか

609:デフォルトの名無しさん
19/09/12 12:45:16.02 6grXRSs+.net
>>599
お前が「いつもの」だって言うのはわかってるぞ

610:デフォルトの名無しさん
19/09/12 12:45:43.48 6grXRSs+.net
  /\___/\
/ /    ヽ ::: \
| (●), 、(●)、 |    / ̄ ̄ ̄ ̄ ̄ ̄ ̄
|  ,,ノ(、_, )ヽ、,,   |  < まーたはじまった
|   ,;‐=‐ヽ   .:::::|    \_______
\  `ニニ´  .:::/
/`ー‐--‐‐―´´\

611:デフォルトの名無しさん
19/09/12 12:47:01.39 d/tSjguy.net
どういつものなんだか

612:デフォルトの名無しさん
19/09/12 12:54:03.95 6grXRSs+.net
シェルスクリプトの話をしないやつだよ

613:デフォルトの名無しさん
19/09/12 12:56:58.88 d/tSjguy.net
自分でできないのにww
ないすボケと言って欲しいのかw

614:デフォルトの名無しさん
19/09/12 13:01:35.95 6grXRSs+.net
いいからシェルスクリプトの話をしろよ。まったく

615:デフォルトの名無しさん
19/09/12 13:04:19.98 d/tSjguy.net
>>601から全て自分自身に対して言っているのね?なるほど納得

616:デフォルトの名無しさん
19/09/12 17:43:49.36 umd/llTn.net
ここまで言われてなおシェルスクリプトと無関係な煽りを書き込めるって相当だぞ

617:デフォルトの名無しさん
19/09/12 18:46:23.43 i3mmqxJn.net
exec 2> >(tee -a stderr.log >&2)
後ろの>&2ってどんな意味なんです?

618:デフォルトの名無しさん
19/09/12 18:46:26.98 Um0WsLAR.net
bashが必要になるようなものはそもそも選択する言語が間違ってると思う

619:デフォルトの名無しさん
19/09/12 19:42:51.04 WUiTiHRA.net
>>608
stderrのをだから(サブシェル内の)stderrに出力、それが無ければstdoutに出力
あんまそれほど意味はなさげのような気がするけど

620:デフォルトの名無しさん
19/09/12 20:41:45.14 WUiTiHRA.net
インタラクティブ、もしくは、それ以下のスクリプトでサブシェルのstderrの先を変えようにも変えようがないし、やるならその前でしかなと、意味はなさげと思ったが、
それが入っているスクリプト起動時にリダイレクトする場合には意味があるか。(コンソールへの)stderrいらないから捨てるとか
hoge.sh
#!/bin/bash
exec 2> >(tee -a stderr.log >&2)
...
./hoge.sh 2> /dev/null
>&2があるので、(コンソールへの)stderrはうまく捨てれる

621:デフォルトの名無しさん
19/09/13 17:57:13.42 DBJTu1IU.net
bashのプロセス置換機能を活用して、シェル作業やスクリプト書きを効率化する
URLリンク(sechiro.haten) blog.com/entry/2013/08/15/bash%E3%81%AE%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E7%BD%AE%E6%8F%9B%E6%A9%9F%E8%83%BD%E3%82%92%E6%B4%BB%E7%94%A8%E3%81%97%E3%81%A6%E3%80%81%E3%82%B7%E3%82%A7%E3%83%AB%E4%BD%9C%E6%A5%AD%E3%82%84%E3%82%B9
そのスクリプトの出処はここだな
出力のプロレス置換ってこう使うのか
入力のプロセス置換はよく使ってるけどそっちはどうもな

622:デフォルトの名無しさん
19/09/14 14:53:58.72 pQ8OW4Ak.net
プロレス乙

623:デフォルトの名無しさん
19/09/14 15:54:17.46 tdzCu94K.net
プロミスの間違い

624:デフォルトの名無しさん
19/09/14 17:27:42.22 niUt0I6q.net
サラ金市ね

625:デフォルトの名無しさん
19/09/15 16:58:31.20 BxQhi0/5.net
grepは自身で上書きすると中身空になるけど回避方法ある?要はspongeなんだけども

626:デフォルトの名無しさん
19/09/15 17:06:24.59 b8Gz5Yn9.net
data=$(grep ~); echo "$data" > ~

627:デフォルトの名無しさん
19/09/15 17:10:14.49 riyG3w3b.net
>>612
こんなのが出たので見るのを止めた。

この接続ではプライバシーが保護されません
sechiro.hatenblog.com では、悪意のあるユーザーによって、パスワード、メッセージ、クレジット カードなどの情報が盗まれる可能性があります。詳細
NET::ERR_CERT_COMMON_NAME_INVALID

628:デフォルトの名無しさん
19/09/15 17:13:13.56 b8Gz5Yn9.net
>>618
お前のパソコンなんかおかしくなってるぞw

629:デフォルトの名無しさん
19/09/15 17:15:19.48 b8Gz5Yn9.net
ハッテンブログじゃなくてはてなブログだな

630:デフォルトの名無しさん
19/09/15 17:18:49.85 LMFjfaUx.net
hattenblogこわい

631:デフォルトの名無しさん
19/09/15 17:28:57.92 4TgO8+RX.net
5ch では、はてなブログのURL を貼ってはいけない!
書き込み禁止画面が出ずに、いきなり吸い込まれて、
アクセス禁止になるようにしてあるから、超危険!
同様に、twitter の長いURL にも、吸い込まれるものがあるらしい
そこだけ、全角などに変換した方がよい。
hatenblog

632:デフォルトの名無しさん
19/09/15 17:32:44.42 4TgO8+RX.net
>>612
のURL は、証明書エラー!
HTTPS の証明書が切れてる!

633:デフォルトの名無しさん
19/09/15 17:37:11.76 4TgO8+RX.net
>>612
hatenblog
そもそも、上ははてなブログじゃない!w
a が無い
はてなブログは、
hatenablog

634:デフォルトの名無しさん
19/09/15 17:40:16.44 4TgO8+RX.net
>>612
hatenblog に、a を追加したら、ちゃんと見れた!
はてなブログは、
hatenablog

635:デフォルトの名無しさん
19/09/15 17:40:54.01 h836vV7+.net
URLリンク(sechiro.)hatenablog.com/entry/2013/08/15/bash%E3%81%AE%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E7%BD%AE%E6%8F%9B%E6%A9%9F%E8%83%BD%E3%82%92%E6%B4%BB%E7%94%A8%E3%81%97%E3%81%A6%E3%80%81%E3%82%B7%E3%82%A7%E3%83%AB%E4%BD%9C%E6%A5%AD%E3%82%84%E3%82%B9

636:デフォルトの名無しさん
19/09/15 18:39:06.79 QquDNTIJ.net
URLリンク(sechiro.%68atenablog.com)

637:デフォルトの名無しさん
19/09/15 20:14:01.28 riyG3w3b.net
>>619
スマホのChromeなんだけどね。おかしいのかね?よくわからんが。

638:デフォルトの名無しさん
19/09/15 20:17:20.74 riyG3w3b.net
>>621
あ、そういうことか。
たしかに無事開いてしまったら何か違う世界を見てしまいそうで怖いアドレスだなw

639:デフォルトの名無しさん
19/09/16 19:53:43.50 vTAkg/qq.net
16進数(最大二桁 0xFF)から8進数に変換したいんですが
bcを使う以外にsedなどを使った方法とかありますかね…?
$ printf 'obase=8;ibase=16;%s\n' 'FA' | bc
もしあれば,bcは16進数のアルファベットが大文字じゃないといけないし,
POSIX標準とはいえUbuntuとかには既定で導入されてないしで,
あまり使いたいくないんです(わがままですいません)

640:デフォルトの名無しさん
19/09/16 20:12:04.01 Zn9wpmWA.net
printf '%o\n' 0xfa

641:デフォルトの名無しさん
19/09/16 21:17:46.43 U9mfWlHU.net
8進数にパーミッション以外の使いみちなんてあったのか…

642:デフォルトの名無しさん
19/09/16 23:39:17.58 LCUbae2V.net
>>630
hex=fa
oct=$(( ($hex >> 6) * 100 + ($hex >> 3 & 0x7) * 10 + ($hex & 0x7) ))
# oct=$((0x$hex >> 6))$((0x$hex >> 3 & 0x7))$((0x$hex & 0x7)) 3桁固定版
echo "$oct"
出力が必須でない場合(変数に入れて処理する場合)は
oct=$(printf '%o\n' 0xfa) よりも速いはず

643:デフォルトの名無しさん
19/09/16 23:43:56.37 LCUbae2V.net
他にも case を使って書けるはず
最大0xFFなら
case $value in
01) ~
02) ~

[fF][eE])
[fF][fF])
esac
とかねw
たかだか256+α行。頑張ればFF の一桁ずつ処理すれば行は減らせるだろう。

644:デフォルトの名無しさん
19/09/16 23:46:42.80 LCUbae2V.net
>>633訂正
× oct=$(( ($hex >> 6) * 100 + ($hex >> 3 & 0x7) * 10 + ($hex & 0x7) ))
○ oct=$(( (0x$hex >> 6) * 100 + (0x$hex >> 3 & 0x7) * 10 + (0x$hex & 0x7) ))

645:デフォルトの名無しさん
19/09/17 00:06:22.06 IA1rgq5F.net
>>632
posixの範囲ではprintfで16進数から文字に変換することが出来ない
printf '\101' # => A
printf '\x41' # bashは変換できるが、dashでは変換できない
バイナリデータの処理など、文字コードを使って処理する必要がある場合は
8進数を使うほうが良い

646:デフォルトの名無しさん
19/09/17 00:09:45.15 IA1rgq5F.net
8進数よりも16進数の方が使い勝手が良いのにパーミッションが8進数なのは、
当時はまだ16進数が発明されてなかったからだったりするのかな?
シェルスクリプトもそうだけど、なんか古い時代は8進数しかなかった感じがする
それとも単なるビット数を節約しただけなんだろうか?

647:デフォルトの名無しさん
19/09/17 00:18:14.43 kEXgFQM4.net
7ビット機だったような

648:デフォルトの名無しさん
19/09/17 02:12:04.50 sr4VPY0J.net
rwxで3ビットしか使ってない必要ないと思ったからだろう

649:デフォルトの名無しさん
19/09/17 04:55:24.40 KdPNzCQK.net
パーミッションの話じゃなくて

650:デフォルトの名無しさん
19/09/17 09:45:35.22 3tDP3W6T.net
>>634
ありがとうございます!

651:デフォルトの名無しさん
19/09/17 12:39:27.59 e1bW+EWq.net
>>637
>当時はまだ16進数が発明されてなかったからだったりするのかな?
どこでなにが「発明」を指して居るのかわからんが、コンピュータ業界コンピュータサイエンス(?)としては当時でも普通に16進数があっただろう。スイッチをパチパチしてマシン語を打ち込む当時のコンピュータでは打ち込むプログラムは16進数で書いてたようだから
Unix version 1 は 18ビットマシンの PDP-7 でから始まり、すぐに PDP-11 に移行したがその名残だろう、K&R C の文字リテラルでは8進数表現しかできないのとかは、また、K&R C の影響じゃね
PDP-7 は 18ビット= 3 3 3 3 3 3 で表した方書いた方がきりがいいからそれが普通のような感じだったんじゃね、今でもパーミッションは3ビットに収まっているので3ビット区切りで表した方が書いた方がわかりやすいのと同じように


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch