【POSIX】UNIXプログラミング【BSD】 [転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2015/09/24(木) 23:08:25.35
無かったので
2018/01/24(水) 16:37:04.40
ストールマンもリーナスもキ​チガイだし多少はね?
まあ86が彼等に匹敵する技量の持ち主だとは到底思えないんだけども(失笑)
2018/01/24(水) 16:48:10.52
いやいや、一番過激と目されるストールマンだって、ソースの公開範囲は、そのソフトウェアの利用者だけで良いとしているぞ。
GPLにもそう書いてある。
(ただし、ソースを配布された利用者が、さらにそのソースを再配布することを制限してはいけないので注意)

自分が使うために改変したソースにまで公開義務があるなんて考えてる人って、OSS原理主義者と目されている人にもいない筈。
そんなこと考えるのは、むしろ OSS ライセンスに疎い人なんじゃないか?
2018/01/25(木) 16:40:38.16
foldのマルチバイト対応云々言い出した人どうなったんだろ
喧騒に巻き込まれたくないから書き込んでないだけならいいんだけど
2018/01/30(火) 07:13:17.94
POSIX的に「絶対に存在する」「中身のある」ファイルってなんだろう。
何かの処理を解説する上でそのファイルを使いたい。
ttps://www.ibm.com/developerworks/jp/linux/library/l-awk1/index.html
例えばawkを紹介するこの記事ではawkで処理するファイルに/etc/pass​wdを選んでるけど、
ttp://pubs.opengroup.org/onlinepubs/009695399/functions/link.html
ここを見る限り/etc/pass​wdは任意のようだし…
/dev/nullとかはPOSIXで決ってるけど、テキストファイルじゃないから、自分の用途には合わない。
2018/02/05(月) 13:28:48.78
ここも読んでるとは思うけど、あきらめて/tmp/unko.txtとか自前で作るしかないやろ
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap10.html
2018/02/13(火) 20:37:58.33
UnixつーかPOSIXで,
「行の先頭に (同じ) 文字列を加える」ことに特化したコマンドない?
sed でもいいんだけど,Unix哲学に基きたい。

```
foo
bar
buzz
```

っていうのに対して,
```
aaafoo
aaabar
aaabuz
```
っていうのを付け加える。
aaaっていう文字列が書かれたファイルはなくて,できれば引数として渡したい。
2018/02/13(火) 20:38:27.00
変更後の buz → buzz
2018/02/13(火) 20:40:43.80
そういう各行の編集をするためにこそsedがあるんじゃん
2018/02/13(火) 21:50:29.81
pasteでいけると思ったが
> aaaっていう文字列が書かれたファイルはなく
で無理ぽ

for l in $(cat ./file.txt | wc -l); do printf 'aaa\n' >> gen.txt; done
として
paste -d '' gen.txt file.txt
とか。
2018/02/14(水) 02:07:33.12
>>94
こっちでも聞いてみよう

シェルスクリプト総合 その26
http://mevius.5ch.net/test/read.cgi/unix/1489979246/
2018/02/14(水) 14:02:20.03
>>94
pasteとyesを組み合わせた全く新しい格闘技
2018/02/14(水) 17:20:00.03
yes って「あるファイルの終端まで」みたいな判定効いたっけ?無理じゃね?
2018/02/14(水) 18:27:48.46
wcで行数調べて、headで打ち切りかな
2018/02/15(木) 00:02:42.38
$ cat ./file.txt
foo
bar
buzz
$ yes aaa | head -n $(cat file.txt | wc -l) | paste -d '' - ./file.txt
aaafoo
aaabar
aaabuzz
かwww意味不明だなw
しかも file が標準出力の場合やりようがないという……
paste って同時に複数の標準出力無理だよな
2018/02/18(日) 16:18:29.46
POSIX原理主義って保守?
Unix哲学という考え方は新しい部類に入るからリベラル?
2018/02/18(日) 19:06:14.20
Unix哲学なんでBSD出来る前からある奴だろ
105名無しさん@お腹いっぱい。
垢版 |
2018/02/21(水) 09:04:59.49
>>103
保守とリベラルは対立軸ではないぞ。
2018/02/24(土) 13:30:11.90
findコマンドってオプション各々の優先順序を丸括弧で指定できるじゃん。
その時にシェルにサブシェルだと解釈されないようにエスケープ記号で無効化する必要があるけれども,
一々エスケープ記号を付けるのが面倒なので,どうにかして一気に無効化したい。
そこで
$ find ~ "( -type f -type l ) -print"
とかやってみたが,当然引用符全体が一つのオプションとしてfindに渡されてエラー。
なにか案ありますかね。
やはり一々エスケープして,
$ find ~ \( -type f -type l \) -print
とかやらないといけないんですかね……。
107106
垢版 |
2018/02/24(土) 13:32:07.65
あ,エスケープ記号じゃなくてエスケープ文字かも。
そこらへんの用語曖昧なので適宜無視して下さい。
2018/02/24(土) 14:58:46.57
>>106
$() もしくは ``
2018/02/24(土) 15:06:18.03
↑勘違いです無視して下さい
2018/02/25(日) 01:33:21.37
>>106
サブシェルをサポートしていないシェルを使う。
なければ作る。それこそプログラマ。
2018/03/03(土) 16:49:43.38
yesってheadで切り出せるのか……今更知ったわw
^Cで止めないといけないのにどうしてheadで中断できるんだろうと思ったが、headがSIGINTを送ってるのかな?
2018/03/03(土) 16:53:45.20
yes書いてみれば分かるよ
2018/03/11(日) 05:53:07.38
POSIXってCLIのUI/UXについては規定してないのかな?
例えば
Install? [Y/n]
っていうプロンプトをよくみかけるけど、
あれ大文字小文字の区別とか入力後にエンター押すか押さないかとか既定値はあるのかないのかとかが曖昧で嫌でさ。
どっかの団体が規格作ってくれてないかなぁ
2018/03/11(日) 11:21:30.20
>>113
既定は一切ないよね
紳士協定すらもない

一旦過去をリセットすることをせず、かといって後方互換もない
混沌こそ*nixの理想
2018/03/11(日) 18:24:41.87
>>113
既定を右にするか左にするかだけでも話がまとまらないと思うので、誰も手をつけないと思う
116名無しさん@お腹いっぱい。
垢版 |
2018/03/22(木) 21:23:34.46
MakefileをPOSIX互換にしたいと思っているのですが、
installコマンドのよい代替コマンドはありますか?
というかかなり多くのMakefileがinstallコマンドを使っていて、
そうでないものはなにか特殊な (例えばGo関連ならgo installみたいな) コマンドになっていて
良い例が見付かりませんでした…
2018/03/22(木) 22:35:02.28
>>116
autotoolsにinstall-shというシェルスクリプトがついてくるので、それを使えばいい。
118池本 雅也
垢版 |
2018/03/28(水) 19:22:28.79
帰結が、超有利なのは、皆さんご存知でしょうが

だからといって

過程の者を、あざ笑うなどという



は、もういらないのです
119池本 雅也
垢版 |
2018/03/28(水) 19:25:00.07
そして、それを考慮に入れた上での

共産に関しては、拒否

の選択を取ろうと思います

今はね
120池本 雅也
垢版 |
2018/03/28(水) 19:27:12.40
例えば我が

真理に向かう魂だとしても、

それを、世に公開せぬほうが

結果として、我自身が、得してしまう

それが、我に、かけられた、呪いでありましょう。
121池本 雅也
垢版 |
2018/03/28(水) 23:44:55.33
我が子を食らうサトゥルヌス

様に

我が展望を語るなどの



は、もう、やめようと思います
122池本 雅也
垢版 |
2018/03/31(土) 16:07:00.54
unix + Cの経験のために

大規模な回線キャリアの、サービスの追加を行い

実際には、店舗スタッフなどに、新規オプションに対する認知努力などの複雑さを与え

消費者に対して、押し付けさせる

社会悪を実装してしまっていた

などという

愚を

二度と行いません
123池本 雅也
垢版 |
2018/03/31(土) 16:12:26.30
システムの意味が、社会の複雑性の縮減に向かうものなのか

十分に、考慮すべきであった
2018/04/01(日) 04:26:30.14
MakefileってPOSIXの範囲内だと函数が一切合切使えないんだな
shell函数も使えないとなると厳しいなぁ
2018/04/05(木) 21:57:14.80
https://www.cs.cmu.edu/~mihaib/kernighan-interview/
カーニハン(C言語の開発者、Unixの開発者)のインタビュー
2018/04/10(火) 22:28:22.65
grepの-A/Bオプションの再現ってPOSIXの範囲内だとやっぱりsed使わないと厳しいのかな。
127名無しさん@お腹いっぱい。
垢版 |
2018/04/11(水) 16:12:50.51
sedコマンドでファイルの先頭に行追加(ヘッダを追加)したいんですが
ググったら出てくるようなとこに書かれてる方法がAIXじゃ使えません
AIXでのやり方を教えてください
2018/04/11(水) 16:35:33.10
AIXしらんけど
sed '1i\
foo
' hogefile
でだめなん?
2018/04/11(水) 16:37:19.81
>>126
awkなら簡単だと思うけど、sedでできる自信がない。
2018/04/12(木) 13:16:11.68
>>128
ありがとうございます
リアル改行を挟むという発想が無かったです
131名無しさん@お腹いっぱい。
垢版 |
2018/04/24(火) 00:50:25.97
nprocコマンドってPOSIXの範囲で代替できないかね。
そもそも/proc以下がFHSでしか定義されてないから土台無理な話なのかなぁ……。
132名無しさん@お腹いっぱい。
垢版 |
2018/04/28(土) 17:52:52.70
age
2018/04/28(土) 20:51:26.72
>>131
POSIXだと無理じゃないかなあ。
POSIXにこだわらなければ、
getconf _NPROCESSORS_ONLN
か、あるいは
getconf NPROCESSORS_ONLN
でとれるOSがわりと多いけど、とれないOSもあるしなあ。
2018/04/28(土) 21:41:05.70
愚痴というかいちゃもんに近いけど,POSIXユーティリティの殆どが「その機能を表わした名前」であるのに対して
awkという名前に違和感を覚える。
sed→Stream EDitor, cal→CALendar とか分かりやすいのにawkだけ「開発者の頭文字」という非合理的な命名をされたせいで
何の目的に使うのかよくわからない。
awkじゃなくて例えばexsed(EXtended SED)とか。
2018/04/28(土) 22:35:26.35
sedは普通のツールの範疇に入るけど(とはいえチューリング完全ではある)、
awk は完全にプログラミング言語だからな。
プログラミング言語の名前なんてそんなもんよ。
2018/04/28(土) 23:28:39.56
awkに多くを求めるな
137名無しさん@お腹いっぱい。
垢版 |
2018/05/12(土) 08:41:50.26
今時POSIXに拘る意味ある?
2018/05/12(土) 13:55:03.73
Linux と Mac のどちらでも動かしたいとか
2018/05/12(土) 15:45:51.45
やっぱりMacは例外なんだよなぁ
2018/05/12(土) 16:37:54.34
Macてbsdだっけ? あれはちゃんとしているの?
2018/05/12(土) 23:33:54.40
MacってUNIX(TM)ではあるけど(ちゃんと許可も貰ってる)、別にPOSIX互換じゃないんじゃない?
bcとかはデフォで入ってなさそう。
2018/05/13(日) 01:06:19.24
POSIX互換、昔はシェルもtcshだったが10.3からbashになってる
POSIX互換だけど、Linux(GNU)ではないのでコマンドのオプションが違ってる
BSD系のコマンドはGNUにくらべて基本的に機能が少ない

homebrewなどのサードパーティ製のパッケージ管理ツールを使うと
GNU系のコマンドを追加導入することができる

POSIXであってLinuxではないので当然だけど
Linuxカーネルを必要とするDockerは仮想マシンを使って動かすしかない
2018/05/13(日) 10:14:48.83
POSIXにはcsh関係ないし、DockerもLinuxカーネル前提じゃないだろ今は
2018/05/13(日) 12:51:22.59
MacOSもWindowsもLinux仮想マシンを使うんだけど、
いつDockerがLinuxカーネル前提じゃなくなったの?
2018/05/13(日) 20:31:57.52
>>141
POSIXに適合することを確認するtest suiteに合格しないと
UNIX(tm)は名乗れないというのに、いったいどこからこういう誤解が?
2018/05/13(日) 20:52:27.39
>>144
AIXのDockerもLinux仮想マシンを動かすの?
まじで?
2018/05/14(月) 08:21:54.94
>>146
いつAIXでDockerが動くようになったの?
それDockerクライアントじゃないの?
2018/05/14(月) 13:11:32.70
>>147
動かないの?マジで?
2018/05/14(月) 18:37:59.87
1. Dockerが動くのはLinuxだけ
2. AIXはLinuxではない

この二つから動く理由が他になければ動かないでしょうね
そして動く理由は一つも見つかってないので、動かない
2018/05/14(月) 20:16:23.82
>>149
1の根拠は?
2018/05/14(月) 21:59:59.59
>>150
Linux の cgroups に依存してるから、じゃない?
FreeBSD の Linux エミュレータ以外で Dockerが
動いているという話は聞かないし。興味を持ってる人は
ある程度いるようだけど。
152名無しさん@お腹いっぱい。
垢版 |
2018/05/22(火) 02:36:04.94
知り合いから教えてもらったパソコン一台でお金持ちになれるやり方
時間がある方はみてもいいかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

BRYP2
2018/05/24(木) 07:57:38.87
>>145
ttps://www.opengroup.org/openbrand/register/
2018/05/24(木) 08:39:55.45
>>153
そこの Learn More というリンクを辿ると、最初に
Only systems that are fully compliant and certified according to the Single UNIX Specification are qualified to use the UNIX® trademark.
って書かれてるわけで、
このページ見た上でPOSIXに適合しないと誤解したなら、
それはすなわち英語読めないのに勝手に誤解したってこと?
ちなみにGoogle翻訳でも
Single UNIX Specificationに従って完全に準拠し、認定されているシステムのみがUNIX®商標を使用する資格があります。
と正しく翻訳できてるので、Google翻訳の使い方も知らないってことになるが...
2018/05/24(木) 13:17:13.70
>>154
Single UNIX Specificationって書いてあるけどPOSIXって書いてないじゃん

よしこれだ!
2018/05/24(木) 13:42:33.30
>>155
その発想はなかった!
可能性としてはありうるか。
Single UNIX Specification とは何なのか調べよとは思うが...
2018/05/27(日) 08:07:11.24
つまりunixはlinuxのサブセットですね
2018/05/27(日) 13:32:05.89
LinuxはUnixじゃないのに、なぜサブセット?
159名無しさん@お腹いっぱい。
垢版 |
2018/08/03(金) 14:36:56.32
C99のPOSIX仕様書(http://pubs.opengroup.org/onlinepubs/9699919799/utilities/c99.html)を見ると
-Wallや-pandemicや-O2などGCCやClangなど主要コンパイラに標準的に搭載されているオプションがありません。
これらは独自拡張なのでしょうか? つまり使うべきではないのでしょうか。
2018/08/04(土) 01:46:45.55
C99って言語仕様じゃないんだっけ
2018/08/06(月) 09:03:20.72
言語仕様はあくまで言語仕様であって、
オプションの規定はない。
コマンドライン版コンパイラが存在しなくても仕様上問題ないわけで。

-Wallや-pandemicはgcc拡張。
gcc以外でもclangでも使える。
Intel コンパイラでも -Wall は使えるし、
-pedantic は無視されるので指定して構わない。
それ以外のコンパイラだと存在しないことが多い。

とは言え特に -Wall は有用なので開発環境では使うし、
たとえば autoconf を使ってれば $GCC = yes で判定して
オプションに追加したりする。

-O2 の方は多くのコンパイラに存在する。
特に UNIX 上のコンパイラならまず存在すると思う。
2018/08/09(木) 00:07:33.59
>>161
ありがとうございます。
c99(1)はコマンドであってC99そのものを規定している訳ではないということですね。
2018/08/10(金) 12:00:40.85
今ってc99というコマンドがあるのか
直球でわかりやすいな
2018/08/16(木) 16:04:13.95
その内fort77(1)とかも規格に載るみたいよ
2018/08/16(木) 16:06:12.74
c11はまだか
2018/08/18(土) 20:55:35.83
>>159
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html#tag_20_76_13_09
もう解決してるっぽいけど,POSIX makeが解釈するMakefileのCFLAGS変数に
-O 1が「-O 1」が代入されている以上POSIXは-Oオプション程度は想定してるという認識でいいんじゃないかな。
もちろん最近のCコンパイラは-Wall,-pandemic,-O 2くらいはみんな持ってるだろうが。
2018/08/19(日) 22:59:15.51
$ gcc -pandemic
gcc: error: unrecognized command line option ‘-pandemic’; did you mean ‘-mandroid’?
2018/08/23(木) 19:33:57.08
makeってまだPOSIX標準じゃねーのかww
2018/10/14(日) 17:55:09.00
 私たち日本人の、日本国憲法を改正しましょう。
『憲法改正 国民投票法』、でググってみてください。
2018/10/14(日) 17:55:26.54
 私たち日本人の、日本国憲法を改正しましょう。
『憲法改正 国民投票法』、でググってみてください。
拡散も含め、お願い致します。
2018/10/14(日) 17:56:47.39
 私たち日本人の、日本国憲法を改正しましょう。
『憲法改正 国民投票法』、でググってみてください。
平 和は勝ち取るものです。拡散も含め、お願い致します。
2018/11/18(日) 14:04:54.87
LinuxはPOSIXに沿ってるから部品単位でUNIXと共通かも知れないがUNIXではないと
そのためにはまずUNIXの細かな規格のSingle UNIX Specificationを通せってことなのか
SUSの攻略に加えて大金払うんだろ?Appleがいくら払ったか知らんけど
2018/11/18(日) 15:07:27.39
今更UNIX名乗る必要もねえだろ
2018/11/19(月) 06:04:58.51
そう。LinuxもWindowsも、それ自身で信用できる存在になったんだよ
Appleとは違う
2018/11/19(月) 09:04:26.34
今のPOSIX標準化にはLinux関係者が関わっていて発言力もあるし、実際glibc独自機能がPOSIXに入ったりしてるよ。
2018/11/19(月) 10:14:10.27
まあPOSIXが大事だよね。
SUSという区切りはあまり意味ないと思う。
2018/11/19(月) 23:10:24.18
昔はともかく今やPOSIXとSUSって同一の規格だから、片方だけ意味ないって変よ。
2019/04/18(木) 01:04:18.59
>>175
正確にはIBM関係者だろう。
2019/04/18(木) 08:42:46.21
>>178
今年の3月7日の回の議事録だと Red Hat の人間が参加してる。
ttps://www.mail-archive.com/austin-group-l@opengroup.org/msg03735.html

IBMの名前はないな。
2019/04/18(木) 08:43:46.51
>>179
あ、打ち間違い。
3月7日じゃなくて27日だった。
2019/04/18(木) 21:47:02.66
RedHatってIBMの子会社なんだぜ。
2019/04/18(木) 22:05:30.22
いや確かに最近そうなったけど、まだ独立性高いし社風も全然違うっしょ
2019/04/18(木) 22:15:40.16
20年前のLinuxブームのとき莫大な投資をしてLinuxの商用利用を進めたのはIBM。
LinuxとIBMの関係は昔から深いよ。IBMが投資しなかったら今のLinuxの地位はないよ。
だから犬厨はIBMとケンカしてくれたMSに対して足を向けて寝れない。はず。
2019/04/18(木) 22:49:38.31
意味が分からん
2019/04/18(木) 23:08:11.68
当時の話を全く知らないの? それは困ったな。
2019/04/18(木) 23:11:07.38
いや、MSとIBMの下り。Linuxに何の関係があるのかと。
2019/04/18(木) 23:24:56.67
当時、MSとIBMがIBM互換機のOSを開発していた。
だけど、IBMのアホ要求の連続でゲイツがブチギレして独断でOSを開発した。それがNT。
MSは既に裏切ってるのにもかかわらず表面的にIBMと開発を続行してできたのがOS/2。
市場はMSの圧勝で終わって、発狂したIBMが担ぎ出したのがLinux。
他方、OS開発に莫大な投資をして大失敗したAppleが担ぎ出したのがおまえらのBSD。
2019/04/18(木) 23:49:16.98
IBMがLinuxを担いだ理由が間違っとる。
Microsoft対抗じゃないよ。
自社のハードウェア製品の種類があまりに多くて
おまけに全部互換性がないから
同じソフトウェアを走らせることができるようにするためでしょ。
つまりIBMがJavaを担いだ理由と同じ。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況