jus共催 第48回引きこもりシェル芸勉強会

bashの文法とか機能の話めっちゃ好き
Added by kanata 12 days ago

【問題と解答】jus共催 第48回引きこもりもりシェル芸勉強会 | 上田ブログ

jus共催 第48回引きこもりシェル芸勉強会

主にプロセスについて勉強しました。激しかったです。

とても楽しい

知見

ここらへんの知見については自分で本を書いておきながら忘れてたりする

catの代替

ビルトインなので、たとえ/usr/bin/catが吹き飛んだとしてもこれでなんとかできる

$ echo hoge > hoge
$ cat hoge
hoge
$ echo $(<hoge)
hoge

サブシェルとexec

サブシェル

子のbashをforkして、その先で実行する
実行終了まで待ち合わせる
変数とかカレントディレクトリとか引き継がない

$ pwd
/tmp
$ (mkdir -p test;cd test;touch hoge)
$ pwd
/tmp

&でバックグラウンド実行するのと似ているけど、こっちは子プロセスを作らないので変数とかカレントディレクトリとかは、そのまま

exec

自分自身のbashが、実行したコマンドのプロセスに置き換わると思えばいい
以下だとbashがsleepに置き換わるが、sleep自体は3秒立ったら終了するため、3秒後にターミナルごと落ちる

$ exec sleep 3

execはリダイレクト先を切り替える機能もある

$ exec > hoge     # 標準出力をファイルに切り替える
$ exec > /dev/tty # シェルの標準出力先を画面に戻す

今回のシェル芸勉強会の問題を解くには、標準入力を切り替える必要があった

LT

この2つのLTはとても面白かったので、是非見て

Technopop shell-gei

soxというコマンドを使うとシェル芸で音が鳴らせるよ!という内容
すばらしい…

ワイも音シェル芸を以前やろうとしててtxt2wavの作者の方に許可を頂いて、周波数をインプットに音楽を作り出そうとしたんだけれど挫折した経緯が…

周波数を扱うレイヤから、楽曲まで昇華させるの実はすんごい難しかったです

takaさんは周波数をbcで見事に計算して、そして音楽を奏でていた
素晴らしかった(こなみ)

シェル芸人に必要なのは「マスキングテープ」だったのでは

なんかもぅ…すごすぎて説明できない(語彙力)
Youtubeみて頂けたらと

ほんとこれはパラダイムシフトの瞬間を目の当たりにしたような衝撃を…覚えました

今まで、「あ、これはう~ん、しょうがないpython(とか)で書くか…」という事が多々あったんですよね
主に処理時間的な意味で

teipがあれば、全部シェル芸でできる…!最高か

使っていきます


Comments

Add picture from clipboard (Maximum size: 100 MB)