シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
シェルスクリプト総合 その30
https://mevius.5ch.net/test/read.cgi/tech/1561989867/
シェルスクリプト総合 その31
■ このスレッドは過去ログ倉庫に格納されています
2019/08/10(土) 23:17:50.64ID:L+B8OP2P
575デフォルトの名無しさん
2019/09/11(水) 13:59:37.76ID:ujkZonF+ だからその、WSLのUbuntuの
/bin/sh は dash だっていってんの
/bin/sh は dash だっていってんの
576デフォルトの名無しさん
2019/09/11(水) 14:06:58.77ID:Alp4BtBi aptitude install bash
#!/usr/bin/bash
#!/usr/bin/bash
577デフォルトの名無しさん
2019/09/11(水) 14:18:05.48ID:0GNwCqDq >>572
Mint使ってるけどdashってどんな時に必要なの
軽さが求められるってラズパイやドローン辺り?
MacはBSDだからLinuxのコマンドオプションが使えないってのは面倒そうね
だからってそっちにcoreutils入れるのもアレだが
Mint使ってるけどdashってどんな時に必要なの
軽さが求められるってラズパイやドローン辺り?
MacはBSDだからLinuxのコマンドオプションが使えないってのは面倒そうね
だからってそっちにcoreutils入れるのもアレだが
578デフォルトの名無しさん
2019/09/11(水) 14:38:42.01ID:ujkZonF+ >>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
そんなもん、こんなの重い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
579デフォルトの名無しさん
2019/09/11(水) 15:20:07.21ID:wb8QVF41 bashが使えない環境のほうが特殊だよなぁ
素直に #!/bin/bash で書いときゃいいんじゃね
ところで、#!/usr/bin/env bash って使えるのか?
素直に #!/bin/bash で書いときゃいいんじゃね
ところで、#!/usr/bin/env bash って使えるのか?
580デフォルトの名無しさん
2019/09/11(水) 15:55:05.69ID:ujkZonF+ 特殊だろうがbashが使えない環境は現実として存在してるわけで
581デフォルトの名無しさん
2019/09/11(水) 20:12:45.01ID:sXUhuJjU またひとりで必死だな
582デフォルトの名無しさん
2019/09/11(水) 22:51:13.32ID:zVcNXGaB またお前か
583デフォルトの名無しさん
2019/09/12(木) 00:11:11.54ID:GvsY5hZk 普通にPCでLinux(とWindows)使ってるだけならbashだけでなんにも困らないよなあ
これはLinuxに限らずちゃんとしたUnixを使う場合もそうだけど、客先で使ったり客に何かを提供する場合は気を遣うべきだが
自分で自由にできるAIXやHP-UXならbashインストールすりゃいいんだし
これはLinuxに限らずちゃんとしたUnixを使う場合もそうだけど、客先で使ったり客に何かを提供する場合は気を遣うべきだが
自分で自由にできるAIXやHP-UXならbashインストールすりゃいいんだし
584デフォルトの名無しさん
2019/09/12(木) 01:59:12.99ID:Uy9QyXie つまりPOSIXなんてピエロだとwww
585デフォルトの名無しさん
2019/09/12(木) 02:11:14.84ID:iqiqB/tU オープンソース開発者「そら、お前がお前のためだけのツール作るなら、それでいいだろな。責任もなんにもないし」
586デフォルトの名無しさん
2019/09/12(木) 02:18:54.66ID:xw2iu/gH MITとかの主要なOSSライセンス読んでみろ。
ソフトの使用でどんな損害被っても作者は責任持ちません。
それに同意しないと使えませんて書いてあるだろ。
オープンソース開発者こそ責任もなんもない。そのためのライセンスだから当たり前だが。
何を勘違いしてんのかねこいつはw
ソフトの使用でどんな損害被っても作者は責任持ちません。
それに同意しないと使えませんて書いてあるだろ。
オープンソース開発者こそ責任もなんもない。そのためのライセンスだから当たり前だが。
何を勘違いしてんのかねこいつはw
587デフォルトの名無しさん
2019/09/12(木) 07:53:28.61ID:umd/llTn >>574
macOSもzshがデフォだから実質Bashの機能が使える。
macOSもzshがデフォだから実質Bashの機能が使える。
588デフォルトの名無しさん
2019/09/12(木) 07:54:28.26ID:YLSbOzHc JavaだとJREまるごとついてくるソフトも珍しくなかったし、
今だとコンテナでlibcからなにまで添付。
ストレージの容量に気を使わなくてよくなってるんだから時代に合わせて
開発するのが良いんじゃないかね。
今だとコンテナでlibcからなにまで添付。
ストレージの容量に気を使わなくてよくなってるんだから時代に合わせて
開発するのが良いんじゃないかね。
589デフォルトの名無しさん
2019/09/12(木) 07:55:04.48ID:umd/llTn まーーーたいつもの自称神のPOSIXキチが暴れてんのか。
590デフォルトの名無しさん
2019/09/12(木) 09:05:58.55ID:iqiqB/tU >>587
問題はシバンをどうするかだよ。
zshを使うには#!/usr/bin/zshとしないといけない
bashなら#!/bin/bashだ
だがzshとbashをうまく使い分けてくれるわけじゃない
シバンは#!/bin/shとするしかない
そうするとUbuntuではdashになる
問題はシバンをどうするかだよ。
zshを使うには#!/usr/bin/zshとしないといけない
bashなら#!/bin/bashだ
だがzshとbashをうまく使い分けてくれるわけじゃない
シバンは#!/bin/shとするしかない
そうするとUbuntuではdashになる
591デフォルトの名無しさん
2019/09/12(木) 10:57:28.70ID:d/tSjguy #!/usr/bin/zsh にすればいいだろう、そういう話でもあるのに特定のヤツだけがなぜか拘っているだけだろに
そいつもたいしたもん作ってないくせに
そいつもたいしたもん作ってないくせに
592デフォルトの名無しさん
2019/09/12(木) 11:04:35.83ID:6grXRSs+ だけどそうするとzshが必須になるって話でしょ
593デフォルトの名無しさん
2019/09/12(木) 11:12:45.55ID:d/tSjguy >>587はzshがbashの代替になるという話じゃないの
bashとの違いはあるだろうけど、些細なちょっと直せばいいというのを含んでの
そもそも一般人は=特定の環境で動けばいいだけの人はの話でしょう
bashとの違いはあるだろうけど、些細なちょっと直せばいいというのを含んでの
そもそも一般人は=特定の環境で動けばいいだけの人はの話でしょう
594デフォルトの名無しさん
2019/09/12(木) 11:23:02.84ID:6grXRSs+ 「一般人」をオレオレ定義して語るのはやめましょう
複数の環境を使う一般人もいるわけです
複数の環境を使う一般人もいるわけです
595デフォルトの名無しさん
2019/09/12(木) 11:52:17.18ID:7qK8Dq0y zshスクリプト書くならzsh必須
bashスクリプト書くならbash必須
当たり前の話だ
bashスクリプト書くならbash必須
当たり前の話だ
596デフォルトの名無しさん
2019/09/12(木) 11:55:43.46ID:Xwf8i9TU あたり前田のcracker
597デフォルトの名無しさん
2019/09/12(木) 12:04:51.42ID:d/tSjguy >>594
大多数でもなんでもいいけど、そういう意味だろう。それでも読めなさそうだが
大多数でもなんでもいいけど、そういう意味だろう。それでも読めなさそうだが
598デフォルトの名無しさん
2019/09/12(木) 12:40:22.35ID:6grXRSs+ 一般人を勝手に定義すんなって言ってるのに、
そういう意味だろとか、わかってなさすぎw
一般人にそういう意味はありません
そういう意味だろとか、わかってなさすぎw
一般人にそういう意味はありません
599デフォルトの名無しさん
2019/09/12(木) 12:43:04.42ID:d/tSjguy 話の通じないこだわりぶりは、いつものか
600デフォルトの名無しさん
2019/09/12(木) 12:45:16.02ID:6grXRSs+ >>599
お前が「いつもの」だって言うのはわかってるぞ
お前が「いつもの」だって言うのはわかってるぞ
601デフォルトの名無しさん
2019/09/12(木) 12:45:43.48ID:6grXRSs+ /\___/\
/ / ヽ ::: \
| (●), 、(●)、 | / ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ,,ノ(、_, )ヽ、,, | < まーたはじまった
| ,;‐=‐ヽ .:::::| \_______
\ `ニニ´ .:::/
/`ー‐--‐‐―´´\
/ / ヽ ::: \
| (●), 、(●)、 | / ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ,,ノ(、_, )ヽ、,, | < まーたはじまった
| ,;‐=‐ヽ .:::::| \_______
\ `ニニ´ .:::/
/`ー‐--‐‐―´´\
602デフォルトの名無しさん
2019/09/12(木) 12:47:01.39ID:d/tSjguy どういつものなんだか
603デフォルトの名無しさん
2019/09/12(木) 12:54:03.95ID:6grXRSs+ シェルスクリプトの話をしないやつだよ
604デフォルトの名無しさん
2019/09/12(木) 12:56:58.88ID:d/tSjguy 自分でできないのにww
ないすボケと言って欲しいのかw
ないすボケと言って欲しいのかw
605デフォルトの名無しさん
2019/09/12(木) 13:01:35.95ID:6grXRSs+ いいからシェルスクリプトの話をしろよ。まったく
606デフォルトの名無しさん
2019/09/12(木) 13:04:19.98ID:d/tSjguy >>601から全て自分自身に対して言っているのね?なるほど納得
607デフォルトの名無しさん
2019/09/12(木) 17:43:49.36ID:umd/llTn ここまで言われてなおシェルスクリプトと無関係な煽りを書き込めるって相当だぞ
608デフォルトの名無しさん
2019/09/12(木) 18:46:23.43ID:i3mmqxJn exec 2> >(tee -a stderr.log >&2)
後ろの>&2ってどんな意味なんです?
後ろの>&2ってどんな意味なんです?
609デフォルトの名無しさん
2019/09/12(木) 18:46:26.98ID:Um0WsLAR bashが必要になるようなものはそもそも選択する言語が間違ってると思う
610デフォルトの名無しさん
2019/09/12(木) 19:42:51.04ID:WUiTiHRA611デフォルトの名無しさん
2019/09/12(木) 20:41:45.14ID:WUiTiHRA インタラクティブ、もしくは、それ以下のスクリプトでサブシェルのstderrの先を変えようにも変えようがないし、やるならその前でしかなと、意味はなさげと思ったが、
それが入っているスクリプト起動時にリダイレクトする場合には意味があるか。(コンソールへの)stderrいらないから捨てるとか
hoge.sh
#!/bin/bash
exec 2> >(tee -a stderr.log >&2)
...
./hoge.sh 2> /dev/null
>&2があるので、(コンソールへの)stderrはうまく捨てれる
それが入っているスクリプト起動時にリダイレクトする場合には意味があるか。(コンソールへの)stderrいらないから捨てるとか
hoge.sh
#!/bin/bash
exec 2> >(tee -a stderr.log >&2)
...
./hoge.sh 2> /dev/null
>&2があるので、(コンソールへの)stderrはうまく捨てれる
612デフォルトの名無しさん
2019/09/13(金) 17:57:13.42ID:DBJTu1IU bashのプロセス置換機能を活用して、シェル作業やスクリプト書きを効率化する
https://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
そのスクリプトの出処はここだな
出力のプロレス置換ってこう使うのか
入力のプロセス置換はよく使ってるけどそっちはどうもな
https://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
そのスクリプトの出処はここだな
出力のプロレス置換ってこう使うのか
入力のプロセス置換はよく使ってるけどそっちはどうもな
613デフォルトの名無しさん
2019/09/14(土) 14:53:58.72ID:pQ8OW4Ak プロレス乙
614デフォルトの名無しさん
2019/09/14(土) 15:54:17.46ID:tdzCu94K プロミスの間違い
615デフォルトの名無しさん
2019/09/14(土) 17:27:42.22ID:niUt0I6q サラ金市ね
616デフォルトの名無しさん
2019/09/15(日) 16:58:31.20ID:BxQhi0/5 grepは自身で上書きすると中身空になるけど回避方法ある?要はspongeなんだけども
617デフォルトの名無しさん
2019/09/15(日) 17:06:24.59ID:b8Gz5Yn9 data=$(grep 〜); echo "$data" > 〜
618デフォルトの名無しさん
2019/09/15(日) 17:10:14.49ID:riyG3w3b >>612
こんなのが出たので見るのを止めた。
この接続ではプライバシーが保護されません
sechiro.hatenblog.com では、悪意のあるユーザーによって、パスワード、メッセージ、クレジット カードなどの情報が盗まれる可能性があります。詳細
NET::ERR_CERT_COMMON_NAME_INVALID
こんなのが出たので見るのを止めた。
この接続ではプライバシーが保護されません
sechiro.hatenblog.com では、悪意のあるユーザーによって、パスワード、メッセージ、クレジット カードなどの情報が盗まれる可能性があります。詳細
NET::ERR_CERT_COMMON_NAME_INVALID
619デフォルトの名無しさん
2019/09/15(日) 17:13:13.56ID:b8Gz5Yn9 >>618
お前のパソコンなんかおかしくなってるぞw
お前のパソコンなんかおかしくなってるぞw
620デフォルトの名無しさん
2019/09/15(日) 17:15:19.48ID:b8Gz5Yn9 ハッテンブログじゃなくてはてなブログだな
621デフォルトの名無しさん
2019/09/15(日) 17:18:49.85ID:LMFjfaUx hattenblogこわい
622デフォルトの名無しさん
2019/09/15(日) 17:28:57.92ID:4TgO8+RX 5ch では、はてなブログのURL を貼ってはいけない!
書き込み禁止画面が出ずに、いきなり吸い込まれて、
アクセス禁止になるようにしてあるから、超危険!
同様に、twitter の長いURL にも、吸い込まれるものがあるらしい
そこだけ、全角などに変換した方がよい。
hatenblog
書き込み禁止画面が出ずに、いきなり吸い込まれて、
アクセス禁止になるようにしてあるから、超危険!
同様に、twitter の長いURL にも、吸い込まれるものがあるらしい
そこだけ、全角などに変換した方がよい。
hatenblog
623デフォルトの名無しさん
2019/09/15(日) 17:32:44.42ID:4TgO8+RX624デフォルトの名無しさん
2019/09/15(日) 17:37:11.76ID:4TgO8+RX625デフォルトの名無しさん
2019/09/15(日) 17:40:16.44ID:4TgO8+RX626デフォルトの名無しさん
2019/09/15(日) 17:40:54.01ID:h836vV7+ https://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
627デフォルトの名無しさん
2019/09/15(日) 18:39:06.79ID:QquDNTIJ628デフォルトの名無しさん
2019/09/15(日) 20:14:01.28ID:riyG3w3b >>619
スマホのChromeなんだけどね。おかしいのかね?よくわからんが。
スマホのChromeなんだけどね。おかしいのかね?よくわからんが。
629デフォルトの名無しさん
2019/09/15(日) 20:17:20.74ID:riyG3w3b630デフォルトの名無しさん
2019/09/16(月) 19:53:43.50ID:vTAkg/qq 16進数(最大二桁 0xFF)から8進数に変換したいんですが
bcを使う以外にsedなどを使った方法とかありますかね…?
$ printf 'obase=8;ibase=16;%s\n' 'FA' | bc
もしあれば,bcは16進数のアルファベットが大文字じゃないといけないし,
POSIX標準とはいえUbuntuとかには既定で導入されてないしで,
あまり使いたいくないんです(わがままですいません)
bcを使う以外にsedなどを使った方法とかありますかね…?
$ printf 'obase=8;ibase=16;%s\n' 'FA' | bc
もしあれば,bcは16進数のアルファベットが大文字じゃないといけないし,
POSIX標準とはいえUbuntuとかには既定で導入されてないしで,
あまり使いたいくないんです(わがままですいません)
631デフォルトの名無しさん
2019/09/16(月) 20:12:04.01ID:Zn9wpmWA printf '%o\n' 0xfa
632デフォルトの名無しさん
2019/09/16(月) 21:17:46.43ID:U9mfWlHU 8進数にパーミッション以外の使いみちなんてあったのか…
633デフォルトの名無しさん
2019/09/16(月) 23:39:17.58ID:LCUbae2V >>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) よりも速いはず
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) よりも速いはず
634デフォルトの名無しさん
2019/09/16(月) 23:43:56.37ID:LCUbae2V 他にも case を使って書けるはず
最大0xFFなら
case $value in
01) 〜
02) 〜
:
[fF][eE])
[fF][fF])
esac
とかねw
たかだか256+α行。頑張ればFF の一桁ずつ処理すれば行は減らせるだろう。
最大0xFFなら
case $value in
01) 〜
02) 〜
:
[fF][eE])
[fF][fF])
esac
とかねw
たかだか256+α行。頑張ればFF の一桁ずつ処理すれば行は減らせるだろう。
635デフォルトの名無しさん
2019/09/16(月) 23:46:42.80ID:LCUbae2V >>633訂正
× oct=$(( ($hex >> 6) * 100 + ($hex >> 3 & 0x7) * 10 + ($hex & 0x7) ))
○ oct=$(( (0x$hex >> 6) * 100 + (0x$hex >> 3 & 0x7) * 10 + (0x$hex & 0x7) ))
× oct=$(( ($hex >> 6) * 100 + ($hex >> 3 & 0x7) * 10 + ($hex & 0x7) ))
○ oct=$(( (0x$hex >> 6) * 100 + (0x$hex >> 3 & 0x7) * 10 + (0x$hex & 0x7) ))
636デフォルトの名無しさん
2019/09/17(火) 00:06:22.06ID:IA1rgq5F >>632
posixの範囲ではprintfで16進数から文字に変換することが出来ない
printf '\101' # => A
printf '\x41' # bashは変換できるが、dashでは変換できない
バイナリデータの処理など、文字コードを使って処理する必要がある場合は
8進数を使うほうが良い
posixの範囲ではprintfで16進数から文字に変換することが出来ない
printf '\101' # => A
printf '\x41' # bashは変換できるが、dashでは変換できない
バイナリデータの処理など、文字コードを使って処理する必要がある場合は
8進数を使うほうが良い
637デフォルトの名無しさん
2019/09/17(火) 00:09:45.15ID:IA1rgq5F 8進数よりも16進数の方が使い勝手が良いのにパーミッションが8進数なのは、
当時はまだ16進数が発明されてなかったからだったりするのかな?
シェルスクリプトもそうだけど、なんか古い時代は8進数しかなかった感じがする
それとも単なるビット数を節約しただけなんだろうか?
当時はまだ16進数が発明されてなかったからだったりするのかな?
シェルスクリプトもそうだけど、なんか古い時代は8進数しかなかった感じがする
それとも単なるビット数を節約しただけなんだろうか?
638デフォルトの名無しさん
2019/09/17(火) 00:18:14.43ID:kEXgFQM4 7ビット機だったような
639デフォルトの名無しさん
2019/09/17(火) 02:12:04.50ID:sr4VPY0J rwxで3ビットしか使ってない必要ないと思ったからだろう
640デフォルトの名無しさん
2019/09/17(火) 04:55:24.40ID:KdPNzCQK パーミッションの話じゃなくて
641デフォルトの名無しさん
2019/09/17(火) 09:45:35.22ID:3tDP3W6T >>634
ありがとうございます!
ありがとうございます!
642デフォルトの名無しさん
2019/09/17(火) 12:39:27.59ID:e1bW+EWq >>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ビット区切りで表した方が書いた方がわかりやすいのと同じように
>当時はまだ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ビット区切りで表した方が書いた方がわかりやすいのと同じように
643デフォルトの名無しさん
2019/09/17(火) 12:48:38.39ID:N6BvjGdd 昔はなぜか 12bit 15bit 18bit 24bit 36bit あたりのマシンが多い
644デフォルトの名無しさん
2019/09/17(火) 13:26:02.16ID:e1bW+EWq そうなの。見物したスイッチをパチパチしてマシン語を打ち込む当時のコンピュータは16bitだったから、PDP-7(というかPDP-11の前までのDEC)が異端かと思ったw
645デフォルトの名無しさん
2019/09/20(金) 09:32:25.18ID:pw3H64dJ 16進数から8進数への変換って↓
$ hex=fa; printf '%o' $((0x$hex))
↑こういうのだとPOSIX違反?
$ hex=fa; printf '%o' $((0x$hex))
↑こういうのだとPOSIX違反?
646デフォルトの名無しさん
2019/09/20(金) 13:37:02.90ID:fQRmEVoK POSIXは知らんが、 古いzsh? は $((0x$hex)) が使えなくて $((16#$hex)) だった気がする
もしくは $((011)) が zshでは8進数にならなくて $((8#11)) と書かないといけない
という問題だったかもしれない。まあ忘れたw
もしくは $((011)) が zshでは8進数にならなくて $((8#11)) と書かないといけない
という問題だったかもしれない。まあ忘れたw
647デフォルトの名無しさん
2019/09/20(金) 15:46:33.91ID:pw3H64dJ ふむ。ということは今であればほぼ問題ないという訳か。
thx
thx
648デフォルトの名無しさん
2019/09/20(金) 18:40:57.99ID:YblgUZDU >>644
基本的にメインフレームってカテゴリのコンピュータはCPUも自社設計だったので
8bit単位じゃなく自分たちの使いやすいbit数だった
ザイログとかモトローラのCPUを使っていると基本的に8bitの整数倍になる
基本的にメインフレームってカテゴリのコンピュータはCPUも自社設計だったので
8bit単位じゃなく自分たちの使いやすいbit数だった
ザイログとかモトローラのCPUを使っていると基本的に8bitの整数倍になる
649デフォルトの名無しさん
2019/09/22(日) 22:42:51.90ID:UP8ZY9Jm symlnkのフォルダからファイルをmvすると実体パスの方で移動するけどmvの仕様?
650デフォルトの名無しさん
2019/09/22(日) 22:58:25.61ID:wuCdbk0L 移動なら実体を移動しなきゃ移動しないだろう、ファイルシステム的に
651デフォルトの名無しさん
2019/09/22(日) 23:05:40.23ID:QKufl6gy 例えば/a/b/cがあって、/x/yが/a/bを指すとする。
cd /x/y; mv c ..したときにcが/x/cじゃなくて/a/cになるという話なら仕様。
実際はcd /x/yの時点でカーネル的には既に/a/bに移っている。
pwdして/x/yと表示されたり、プロンプトに/x/yと出たりすることがあるのは、シェルがそう見せているだけ。
外部コマンドを呼んだ時点で/x/yにいるという情報は伝わらない。
cd /x/y; mv c ..したときにcが/x/cじゃなくて/a/cになるという話なら仕様。
実際はcd /x/yの時点でカーネル的には既に/a/bに移っている。
pwdして/x/yと表示されたり、プロンプトに/x/yと出たりすることがあるのは、シェルがそう見せているだけ。
外部コマンドを呼んだ時点で/x/yにいるという情報は伝わらない。
652デフォルトの名無しさん
2019/09/22(日) 23:22:54.08ID:dHMqf7rP シェルによっては今いるディレクトリをシンボリックリンクのままPWD環境変数に出力するから、外部コマンドでも>>651の場合に/a/bではなく/x/yにいると分かることもある
だからmvでもやろうと思えば環境変数によって動作をかえて/x/cに移すこともー応可能ではある
ただ普通はそういう危なっかしい動きはしない
だからmvでもやろうと思えば環境変数によって動作をかえて/x/cに移すこともー応可能ではある
ただ普通はそういう危なっかしい動きはしない
653デフォルトの名無しさん
2019/09/23(月) 00:58:42.07ID:XnqhgXWR なるほど
~/dir/foo.txtがあって、dirのリンクを~/Desktop/dir_linkに作ったんだ
んでdir_linkからmv foo.txt ../したらDesktopになくてあれってね
シンボリックリンクはあくまで別名だって念頭に置かないといつかやらかしそうだなぁ
~/dir/foo.txtがあって、dirのリンクを~/Desktop/dir_linkに作ったんだ
んでdir_linkからmv foo.txt ../したらDesktopになくてあれってね
シンボリックリンクはあくまで別名だって念頭に置かないといつかやらかしそうだなぁ
654デフォルトの名無しさん
2019/09/23(月) 13:44:18.78ID:uT43KuRv シンボリックリンク自体はカーネルっていうかファイルシステムの機能であって
シェルの機能じゃないよね?
シンボリックリンクされたディレクトリへの移動やその表示が、シェルの機能?
シェルの機能じゃないよね?
シンボリックリンクされたディレクトリへの移動やその表示が、シェルの機能?
655デフォルトの名無しさん
2019/09/23(月) 14:55:36.41ID:16gV8N0U シンボリックリンクはただのファイルで、APIが機能を提供してるだけだろう
ハードリンクはファイルシステムの機能だろうが
ハードリンクはファイルシステムの機能だろうが
656デフォルトの名無しさん
2019/09/23(月) 15:20:14.51ID:0wgm+uqt シンボリックリンクはPOSIXで決まっているが、
シェルスクリプトとは関係ない。
シェルとも関係ない。すれ違いだ。
シェルスクリプトの話をしろ。
シェルスクリプトとは関係ない。
シェルとも関係ない。すれ違いだ。
シェルスクリプトの話をしろ。
657デフォルトの名無しさん
2019/09/23(月) 15:43:16.78ID:PpvL3bdr シンボリックリンクもハードリンクもファイルシステムの機能だ
658デフォルトの名無しさん
2019/09/23(月) 15:44:56.02ID:mZE+d06B ドヤァ
659デフォルトの名無しさん
2019/09/23(月) 16:01:07.98ID:16gV8N0U >>657
どこまでをファイルシステムかと言うのかだが、論理矛盾とかリンク切れとかあってもなんも関係ないのだから低レベル=どのファイルシステムでフォーマットする?というファイルシステムのファイルシステムではないな
そのレベルではファイルとフラグを提供しているにすぎない
APIも含めたOSがアプリケーションに対しての提供するファイルシステムといえばファイルシステムだろうが
どこまでをファイルシステムかと言うのかだが、論理矛盾とかリンク切れとかあってもなんも関係ないのだから低レベル=どのファイルシステムでフォーマットする?というファイルシステムのファイルシステムではないな
そのレベルではファイルとフラグを提供しているにすぎない
APIも含めたOSがアプリケーションに対しての提供するファイルシステムといえばファイルシステムだろうが
660デフォルトの名無しさん
2019/09/23(月) 16:41:43.41ID:aoth6Tve まぁ、いずれにしても、ここではスレ違い
661デフォルトの名無しさん
2019/09/23(月) 16:58:42.91ID:COQ8/G13 シンボリックリンクやハードリンクはOSの機能
ファイルシステムはそれを実装するだけ
(FATのように実装してないものもある)
ファイルシステムはそれを実装するだけ
(FATのように実装してないものもある)
662デフォルトの名無しさん
2019/09/23(月) 17:01:20.42ID:PpvL3bdr アホばっかw
663デフォルトの名無しさん
2019/09/23(月) 17:09:58.15ID:fWeAQpZu 自戒か
664デフォルトの名無しさん
2019/09/23(月) 17:22:55.59ID:qNyZUwSM ファイルシステムはOSの提供する1つの機能だろ
665デフォルトの名無しさん
2019/09/23(月) 20:09:09.12ID:uT43KuRv いつからカーネルがOSに掏り替わった?
666デフォルトの名無しさん
2019/09/25(水) 16:36:07.25ID:vuS5tsH7 カーネルってファイルシステム含まないでしょうが
667デフォルトの名無しさん
2019/09/25(水) 17:26:48.60ID:Fy/ppuPa 子供がまだ食ってる途中でしょうが
668デフォルトの名無しさん
2019/09/29(日) 15:56:27.36ID:kt1IDkk5 誠意って何かね
669デフォルトの名無しさん
2019/09/29(日) 17:07:22.81ID:G1Omq4Sq 金
670デフォルトの名無しさん
2019/09/29(日) 19:09:52.55ID:VaR9nylT 女だったらアレかもしれんが
671デフォルトの名無しさん
2019/09/29(日) 19:22:34.45ID:CY5JaLwa 俺が定期的にお題を出してやらないとすぐクソスレ化するなw
672デフォルトの名無しさん
2019/09/29(日) 19:31:49.84ID:cn7qdGIP Oh, I like Japan.
Japanese are crazy. Ha ha ha.
Japanese are pigs, pigs, you know.
Moneys and they have small cocks you know short legs yellow monkeys.
Do you understand?
Japanese are crazy. Ha ha ha.
Japanese are pigs, pigs, you know.
Moneys and they have small cocks you know short legs yellow monkeys.
Do you understand?
673デフォルトの名無しさん
2019/09/29(日) 19:34:18.39ID:RIFVILY+ POSIXの話するから荒れて盛り上がるから誰かしてよ
674デフォルトの名無しさん
2019/09/29(日) 19:34:36.19ID:RIFVILY+ POSIXの話すると荒れて盛り上がるから誰かしてよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- 「これいいじゃん!!!」 セブン-イレブンの1620円で買える“1人用クリスマスケーキ”🎂に注目殺到「天才すぎる」 [パンナ・コッタ★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 高市早苗首相が天理教系企業に“巨額発注” 総額5000万円 本人は「政治団体の活動に必要な支出」と回答 ★2 [Hitzeschleier★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★3 [少考さん★]
- 【WOWOW】UEFA CL「ビジャレアル v コペンハーゲン」「カラバフ v アヤックス」鈴木淳、板倉スタメン
- 【悲報】ジャップ、日中戦争に賛成が5割弱...軍歌の音が聞こえる... [856698234]
- お前ら(ちぎゅちぎゅの実モデルチーズ牛丼)←これw
- 隣の部屋のデブがこっちにまで聞こえる声量でアクビするのがストレスなんだけどマジで死んでくれないかな
- 【乞食速報】プロクオリティ ビーフカレー 96食 4262円 [268244553]
- 【悲報】小泉防衛大臣、中国のレーダー照射事件をNATO事務総長に報告 [834922174]
