シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
シェルスクリプト総合 その30
https://mevius.5ch.net/test/read.cgi/tech/1561989867/
シェルスクリプト総合 その31
■ このスレッドは過去ログ倉庫に格納されています
2019/08/10(土) 23:17:50.64ID:L+B8OP2P
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の話すると荒れて盛り上がるから誰かしてよ
675デフォルトの名無しさん
2019/09/29(日) 20:34:15.29ID:1ct4yMlj POSIX準拠で固定小数点ライブラリほしいな
小数使うことは稀だけど、たまに無いとめんどくさい
exprは外部コマンドで遅いので却下w
小数使うことは稀だけど、たまに無いとめんどくさい
exprは外部コマンドで遅いので却下w
676デフォルトの名無しさん
2019/09/29(日) 20:53:22.53ID:UgGWrkoZ bashって便利だけど計算部分だけマジでダサいな
1+1が
$((1+1))ってなんなんだよ
1+1が
$((1+1))ってなんなんだよ
677デフォルトの名無しさん
2019/09/29(日) 21:19:57.63ID:1ct4yMlj どの言語にも言えることだけど、
ダサい部分ってのは互換性のためだよ
シェルスクリプトは外部コマンドを関数として呼び出せて、
そして外部コマンドに使える文字は、ファイルに使える文字と同じ
だから例えば@とか%とかいう文字でさえ、コマンド名として使える
だから、安易に記号を追加するわけにもいかないし予約語も増やせない。
$に関してはシェルスクリプト当初から特殊記号だったから
新たに特殊記号や予約語を増やすのではなく$を拡張するという方法を採用したのだろう
互換性は一番大事だからね
ダサい部分ってのは互換性のためだよ
シェルスクリプトは外部コマンドを関数として呼び出せて、
そして外部コマンドに使える文字は、ファイルに使える文字と同じ
だから例えば@とか%とかいう文字でさえ、コマンド名として使える
だから、安易に記号を追加するわけにもいかないし予約語も増やせない。
$に関してはシェルスクリプト当初から特殊記号だったから
新たに特殊記号や予約語を増やすのではなく$を拡張するという方法を採用したのだろう
互換性は一番大事だからね
678デフォルトの名無しさん
2019/09/29(日) 21:21:56.71ID:1ct4yMlj 補足
例えば「1 + 1」は、"1"コマンドを、+と1という引数で呼び出すという意味になるし
「1+1」だと"1+1"コマンドになる。
選択肢が限られるんだよね
例えば「1 + 1」は、"1"コマンドを、+と1という引数で呼び出すという意味になるし
「1+1」だと"1+1"コマンドになる。
選択肢が限られるんだよね
679デフォルトの名無しさん
2019/09/30(月) 06:57:25.74ID:Ceph+2oU $ awk 'BEGIN {print 0.1+0.2}'
0.3
bcより使いやすい悲しみ
0.3
bcより使いやすい悲しみ
680デフォルトの名無しさん
2019/09/30(月) 13:47:50.63ID:bgqbOy9v POSIXの仕様書,
算術展開での(浮動)小数点演算は今度の2020年度改訂で一部解禁されるらしい。
ちなみに時を同じくして$'\n'←みたいな書式も解禁。
やったぜ。
算術展開での(浮動)小数点演算は今度の2020年度改訂で一部解禁されるらしい。
ちなみに時を同じくして$'\n'←みたいな書式も解禁。
やったぜ。
681デフォルトの名無しさん
2019/09/30(月) 14:14:05.05ID:gJLA2fQe やったぜ。
682デフォルトの名無しさん
2019/09/30(月) 14:57:01.11ID:seE3nGDx 石器時代かよワロタw
683デフォルトの名無しさん
2019/09/30(月) 14:59:09.67ID:1VQTT5dv 生理がこないんですけど
どうしたらいいですか?
どうしたらいいですか?
684デフォルトの名無しさん
2019/09/30(月) 15:14:42.58ID:g4qimp0d 俺も生理来たことないわー
685デフォルトの名無しさん
2019/09/30(月) 15:24:33.48ID:g4qimp0d >>680
どこ情報ですか?
どこ情報ですか?
686デフォルトの名無しさん
2019/09/30(月) 17:46:55.62ID:zGRcNdYK もしもし、先生!もしもし!
だけどもねー、実はあのー、子供つくらないようにしてるんですよね、わたくしも本当に辛くてですね、子供には遺伝しないでしょうか?
だけどもねー、実はあのー、子供つくらないようにしてるんですよね、わたくしも本当に辛くてですね、子供には遺伝しないでしょうか?
687デフォルトの名無しさん
2019/09/30(月) 19:45:29.40ID:bgqbOy9v688デフォルトの名無しさん
2019/09/30(月) 20:35:29.76ID:sHSicWZI >>687
いや、小数の話
いや、小数の話
689デフォルトの名無しさん
2019/09/30(月) 21:58:43.29ID:M1BD3UNk しょうっすか…
690デフォルトの名無しさん
2019/09/30(月) 23:03:44.06ID:qRuhgEzP 無理にシェルスクリプトだけで小数対応しなくても、
perl -e "print 0.2*0.3"
とか、いろいろやりようはあるからあまり必要性を感じない。
perl -e "print 0.2*0.3"
とか、いろいろやりようはあるからあまり必要性を感じない。
691デフォルトの名無しさん
2019/09/30(月) 23:20:20.33ID:nI7iDoAi >>690
大量に計算をするとプロセス呼び出しになるから遅いんだよ
$ time ksh -c 'for i in $(seq 1000); do n=$(echo "0.2*0.3" | bc -l); done'
real 0m1.921s
user 0m1.762s
sys 0m0.715s
$ time ksh -c 'for i in $(seq 1000); do n=$((0.2*0.3)); done'
real 0m0.009s
user 0m0.009s
sys 0m0.000s
たったの1000回でここまで差が出るからね
大量に計算をするとプロセス呼び出しになるから遅いんだよ
$ time ksh -c 'for i in $(seq 1000); do n=$(echo "0.2*0.3" | bc -l); done'
real 0m1.921s
user 0m1.762s
sys 0m0.715s
$ time ksh -c 'for i in $(seq 1000); do n=$((0.2*0.3)); done'
real 0m0.009s
user 0m0.009s
sys 0m0.000s
たったの1000回でここまで差が出るからね
692デフォルトの名無しさん
2019/09/30(月) 23:28:35.91ID:qRuhgEzP 意図と違うと思うが、
time perl -e '$j=0; for($i=0;$i<1000;$i+=1) { $j+=0.2*0.3; }; print $j'
とか、別にシェルスクリプトだけに頼らんでもなんとかなってしまうというか・・・・
time perl -e '$j=0; for($i=0;$i<1000;$i+=1) { $j+=0.2*0.3; }; print $j'
とか、別にシェルスクリプトだけに頼らんでもなんとかなってしまうというか・・・・
693デフォルトの名無しさん
2019/09/30(月) 23:29:54.18ID:nI7iDoAi だから出来るできないの話はして無くて
遅いって話をしてる
遅いって話をしてる
694デフォルトの名無しさん
2019/09/30(月) 23:35:15.29ID:1VQTT5dv >>692
これで事足りるな
これで事足りるな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- 「これいいじゃん!!!」 セブン-イレブンの1620円で買える“1人用クリスマスケーキ”🎂に注目殺到「天才すぎる」 [パンナ・コッタ★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 高市早苗首相が天理教系企業に“巨額発注” 総額5000万円 本人は「政治団体の活動に必要な支出」と回答 ★2 [Hitzeschleier★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★3 [少考さん★]
- 【WOWOW】UEFA CL「ビジャレアル v コペンハーゲン」「カラバフ v アヤックス」鈴木淳、板倉スタメン
- 【悲報】ジャップ、日中戦争に賛成が5割弱...軍歌の音が聞こえる... [856698234]
- お前ら(ちぎゅちぎゅの実モデルチーズ牛丼)←これw
- 隣の部屋のデブがこっちにまで聞こえる声量でアクビするのがストレスなんだけどマジで死んでくれないかな
- 【乞食速報】プロクオリティ ビーフカレー 96食 4262円 [268244553]
- 【悲報】小泉防衛大臣、中国のレーダー照射事件をNATO事務総長に報告 [834922174]
