Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
シェル芸に目覚める前と後
Search
sickleaf
June 26, 2021
Technology
0
58
シェル芸に目覚める前と後
第54回シェル芸勉強会LT
sickleaf
June 26, 2021
Tweet
Share
More Decks by sickleaf
See All by sickleaf
20240512ジャンル指定クイズ
sickleaf
0
46
「○○するシェル芸ちゃん」の紹介
sickleaf
0
160
手順メモ(circle.ms、C97申し込み)
sickleaf
0
550
bashcms本で手を動かしてみた
sickleaf
0
920
技術書典4新刊宣伝LT_radiberry pi!
sickleaf
0
220
Other Decks in Technology
See All in Technology
AWS DevOps Agent vs SRE俺 / AWS DevOps Agent vs me, the SRE
sms_tech
3
880
Agent ServerはWeb Serverではない。ADKで考えるAgentOps
akiratameto
0
110
JAWS Days 2026 楽しく学ぼう! 認証認可 入門/20260307-jaws-days-novice-lane-auth
opelab
11
2.3k
OCI技術資料 : コンピュート・サービス 概要
ocise
4
54k
わたしがセキュアにAWSを使えるわけないじゃん、ムリムリ!(※ムリじゃなかった!?)
cmusudakeisuke
1
770
複数クラスタ運用と検索の高度化:ビズリーチにおけるElastic活用事例 / ElasticON Tokyo2026
visional_engineering_and_design
0
160
Cortex Code CLI と一緒に進めるAgentic Data Engineering
__allllllllez__
0
400
Lambda Web AdapterでLambdaをWEBフレームワーク利用する
sahou909
0
150
スクリプトの先へ!AIエージェントと組み合わせる モバイルE2Eテスト
error96num
0
180
楽しく学ぼう!ネットワーク入門
shotashiratori
1
440
ガバメントクラウドにおけるAWSの長期継続割引について
takeda_h
2
340
今のWordPress の制作手法ってなにがあんねん?(改) / What’s the Deal with WordPress Development These Days?
tbshiki
0
490
Featured
See All Featured
Balancing Empowerment & Direction
lara
5
940
The World Runs on Bad Software
bkeepers
PRO
72
12k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
86
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
200
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
160
BBQ
matthewcrist
89
10k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
130
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.4k
How to Talk to Developers About Accessibility
jct
2
150
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
220
Optimising Largest Contentful Paint
csswizardry
37
3.6k
Transcript
シェル芸に目覚める前と後 ~raspberry piの環境構築にシェル芸を突っ込む~ 第54回シェル芸勉強会 LT 病葉(わくらば) @sickleaf3 1
もくじ ・何をした話? ・シェル芸に目覚める前/後の比較 ・実例(シェル芸の投入パターン) ・実機デモ ・最後に 2
何をした話? ・仕事はWordとExcel作業が中心、家ではLinuxを使ってラジオ環境の整備 ・ラジオ好きが高じて技術書を頒布/出版 ・初版執筆後に知ったシェル芸で培った知見を、今回の改版で出来る限り突っ込んだ 3
本の改版にシェル芸で得た知見を突っ込んだ話 シェル芸に触れた時期 大体2019年頃 2019年2月開催、「光明節シェル芸勉強会」の金スロット問題が強烈に印象に残ってい る 4
本の改版にシェル芸で得た知見を突っ込んだ話 どんな本? raspberry piでラジオ/音声ファイルを聴く環境を作るための構築手順をまとめた本 初版でもシェルスクリプトは使っていたが、シェル芸の観点では大きな差異 あり 5
シェル芸に目覚める前/後の比較 書籍の構成/シェル芸が占める割合(初版) 6
シェル芸に目覚める前/後の比較 書籍の構成/シェル芸が占める割合(第2版) 7
システム構成図 構築完了時のシステムイメージは以下の通り CUI上でのシェルスクリプト実行でも動作可能だが、より快適に利用するためにブラウ ザ画面を提供する(デモ動作) システムイメージ 8
シェル芸の投入パターン 既存の手順や新規手順追加にあたりシェル芸を投入した理由は、概ね以下の3パター ンのいずれか 1. 構築手順の設定値を確実に入力するため 2. テキストエディタの利用を回避するため 3. シェルスクリプトへの組み込み 9
シェル芸の投入パターン 1.構築手順の設定値を確実に入力するため 通常は usermod -G の後に、設定したいグループをカンマ区切りで空白を入れずに列挙 →ユーザを新規作成した後に、既存ユーザに準じた設定を行う場合は利用するべき //新規追加ユーザ(radipi)の所属グループ設定 sudo adduser
radipi groups pi | cut -d: -f2 | sed "s/ /,/g; s/^.//g" # piユーザが所属するグループを表示。 # pi,adm,dialout,.....となることを確認 sudo usermod -G $(groups pi | cut -d: -f2 | sed "s/ /,/g; s/^.//g") radipi # 矢印の↑を押して前回コマンドを再利用し、piユーザが所属するグループをradipiユーザに設定 10
シェル芸の投入パターン 2.テキストエディタの利用を回避するため 最近のツール(イメージ書き込み専用ツール、初期設定ウィザードなど)の提供によ り、Linux/Unix特有のエディタ操作が無くとも利用可能に →ターミナルでのコマンド実行を限度とした場合、必然的にシェル芸が登場 //SSH有効化(ポートは固有番号に変更) sudo sed -i 's/#Port
22/Port 23456/' /etc/ssh/sshd_config //cronログ有効化 sudo sed -i "/#cron/s;#;;g" /etc/rsyslog.conf //赤外線リモコンを動かす時の設定ファイル修正 sudo sed -i '$a dtoverlay=gpio-ir,gpio_pin=24' /boot/config.txt # config.txtを上書き、GPIO24を有効化 sudo sed -i '/driver/s;devinput;default;g' /etc/lirc/lirc_options.conf sudo sed -i '/device/s;auto;/dev/lirc0;g' /etc/lirc/lirc_options.conf # lirc_options.confを上書き 11
シェル芸の投入パターン 3.シェルスクリプトへの組み込み 音声再生・制御には基本的にシェルスクリプト経由で行うため、随所にシェル芸が登 場 12
実機デモ 画面イメージ 13
最後に 14