Submit Search
Upload
Tips for bash script
•
3 likes
•
7,557 views
Kenta Yamamoto
Follow
より良いbashスクリプトのための8つのTips http://ymkjp.blogspot.jp/2012/10/bashtips.html
Read less
Read more
Technology
Report
Share
Report
Share
1 of 11
Download now
Download to read offline
Recommended
LT#7 Hello coffeeしてきた
LT#7 Hello coffeeしてきた
Shingo Inoue
WordPress のための PHP 超入門
WordPress のための PHP 超入門
Michinari Odajima
Parascript
Parascript
Shoichi Masuhara
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
emasaka
Memcache Queue
Memcache Queue
Masaru Hoshino
JavaScriptライフを10倍楽しくする方法-HTML5fun-
JavaScriptライフを10倍楽しくする方法-HTML5fun-
Masayuki Abe
Effective JavaScript Ch.1
Effective JavaScript Ch.1
Teppei Sato
VisualVMの紹介
VisualVMの紹介
tattyamm
Recommended
LT#7 Hello coffeeしてきた
LT#7 Hello coffeeしてきた
Shingo Inoue
WordPress のための PHP 超入門
WordPress のための PHP 超入門
Michinari Odajima
Parascript
Parascript
Shoichi Masuhara
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
emasaka
Memcache Queue
Memcache Queue
Masaru Hoshino
JavaScriptライフを10倍楽しくする方法-HTML5fun-
JavaScriptライフを10倍楽しくする方法-HTML5fun-
Masayuki Abe
Effective JavaScript Ch.1
Effective JavaScript Ch.1
Teppei Sato
VisualVMの紹介
VisualVMの紹介
tattyamm
JavascriptでRubyの作り方
JavascriptでRubyの作り方
Shuyo Nakatani
Web制作勉強会 #2
Web制作勉強会 #2
Moto Yan
【書籍紹介】よくわかるJavaScriptの教科書
【書籍紹介】よくわかるJavaScriptの教科書
株式会社ランチェスター
Ansible meetup201409
Ansible meetup201409
shirou wakayama
Exercise Backlog 1
Exercise Backlog 1
Shin Semiya
CoffeeScript+enchant.jsでクロージャが気持よくかけた話
CoffeeScript+enchant.jsでクロージャが気持よくかけた話
Yusuke HIDESHIMA
20090606
20090606
小野 修司
OSC 2011 KeySnail
OSC 2011 KeySnail
Masafumi Oyamada
Nodejs
Nodejs
Masanobu Masuda
USP友の会第五回シェル芸勉強会問題だけスライド
USP友の会第五回シェル芸勉強会問題だけスライド
Ryuichi Ueda
Uspstudy20121208
Uspstudy20121208
Ryuichi Ueda
「やっちまったぁ!」を防ごう!
「やっちまったぁ!」を防ごう!
博文 斉藤
シェル芸初心者によるシェル芸入門 (修正版)
シェル芸初心者によるシェル芸入門 (修正版)
icchy
Usptomonokai 20111028
Usptomonokai 20111028
博文 斉藤
固定長レコード形式行順ファイルでもAwkがしたい!
固定長レコード形式行順ファイルでもAwkがしたい!
kunst1080
20131222 第8回シェル芸勉強会スライド
20131222 第8回シェル芸勉強会スライド
Ryuichi Ueda
Bashのヒストリ展開を活用する
Bashのヒストリ展開を活用する
bsdhack
Usp友の会勉強会、ジャクソン構造図の巻(後編)
Usp友の会勉強会、ジャクソン構造図の巻(後編)
umidori
FreeBSDのブートプロセス
FreeBSDのブートプロセス
bsdhack
2015.08.29 JUS共催勉強会資料
2015.08.29 JUS共催勉強会資料
umidori
Usp友の会勉強会、ジャクソン構造図の巻(前編)
Usp友の会勉強会、ジャクソン構造図の巻(前編)
umidori
シェルスクリプトを極める
シェルスクリプトを極める
bsdhack
More Related Content
What's hot
JavascriptでRubyの作り方
JavascriptでRubyの作り方
Shuyo Nakatani
Web制作勉強会 #2
Web制作勉強会 #2
Moto Yan
【書籍紹介】よくわかるJavaScriptの教科書
【書籍紹介】よくわかるJavaScriptの教科書
株式会社ランチェスター
Ansible meetup201409
Ansible meetup201409
shirou wakayama
Exercise Backlog 1
Exercise Backlog 1
Shin Semiya
CoffeeScript+enchant.jsでクロージャが気持よくかけた話
CoffeeScript+enchant.jsでクロージャが気持よくかけた話
Yusuke HIDESHIMA
20090606
20090606
小野 修司
OSC 2011 KeySnail
OSC 2011 KeySnail
Masafumi Oyamada
What's hot
(8)
JavascriptでRubyの作り方
JavascriptでRubyの作り方
Web制作勉強会 #2
Web制作勉強会 #2
【書籍紹介】よくわかるJavaScriptの教科書
【書籍紹介】よくわかるJavaScriptの教科書
Ansible meetup201409
Ansible meetup201409
Exercise Backlog 1
Exercise Backlog 1
CoffeeScript+enchant.jsでクロージャが気持よくかけた話
CoffeeScript+enchant.jsでクロージャが気持よくかけた話
20090606
20090606
OSC 2011 KeySnail
OSC 2011 KeySnail
Viewers also liked
Nodejs
Nodejs
Masanobu Masuda
USP友の会第五回シェル芸勉強会問題だけスライド
USP友の会第五回シェル芸勉強会問題だけスライド
Ryuichi Ueda
Uspstudy20121208
Uspstudy20121208
Ryuichi Ueda
「やっちまったぁ!」を防ごう!
「やっちまったぁ!」を防ごう!
博文 斉藤
シェル芸初心者によるシェル芸入門 (修正版)
シェル芸初心者によるシェル芸入門 (修正版)
icchy
Usptomonokai 20111028
Usptomonokai 20111028
博文 斉藤
固定長レコード形式行順ファイルでもAwkがしたい!
固定長レコード形式行順ファイルでもAwkがしたい!
kunst1080
20131222 第8回シェル芸勉強会スライド
20131222 第8回シェル芸勉強会スライド
Ryuichi Ueda
Bashのヒストリ展開を活用する
Bashのヒストリ展開を活用する
bsdhack
Usp友の会勉強会、ジャクソン構造図の巻(後編)
Usp友の会勉強会、ジャクソン構造図の巻(後編)
umidori
FreeBSDのブートプロセス
FreeBSDのブートプロセス
bsdhack
2015.08.29 JUS共催勉強会資料
2015.08.29 JUS共催勉強会資料
umidori
Usp友の会勉強会、ジャクソン構造図の巻(前編)
Usp友の会勉強会、ジャクソン構造図の巻(前編)
umidori
シェルスクリプトを極める
シェルスクリプトを極める
bsdhack
Linux女子部第二回勉強会usp友の会
Linux女子部第二回勉強会usp友の会
Ryuichi Ueda
Awk勉強会用資料
Awk勉強会用資料
Junnosuke Toku
正規表現
正規表現
bsdhack
awk入門
awk入門
ika take
確率ロボティクス第九回
確率ロボティクス第九回
Ryuichi Ueda
ALSS14: Xen Project Automotive Hypervisor (Demo)
ALSS14: Xen Project Automotive Hypervisor (Demo)
The Linux Foundation
Viewers also liked
(20)
Nodejs
Nodejs
USP友の会第五回シェル芸勉強会問題だけスライド
USP友の会第五回シェル芸勉強会問題だけスライド
Uspstudy20121208
Uspstudy20121208
「やっちまったぁ!」を防ごう!
「やっちまったぁ!」を防ごう!
シェル芸初心者によるシェル芸入門 (修正版)
シェル芸初心者によるシェル芸入門 (修正版)
Usptomonokai 20111028
Usptomonokai 20111028
固定長レコード形式行順ファイルでもAwkがしたい!
固定長レコード形式行順ファイルでもAwkがしたい!
20131222 第8回シェル芸勉強会スライド
20131222 第8回シェル芸勉強会スライド
Bashのヒストリ展開を活用する
Bashのヒストリ展開を活用する
Usp友の会勉強会、ジャクソン構造図の巻(後編)
Usp友の会勉強会、ジャクソン構造図の巻(後編)
FreeBSDのブートプロセス
FreeBSDのブートプロセス
2015.08.29 JUS共催勉強会資料
2015.08.29 JUS共催勉強会資料
Usp友の会勉強会、ジャクソン構造図の巻(前編)
Usp友の会勉強会、ジャクソン構造図の巻(前編)
シェルスクリプトを極める
シェルスクリプトを極める
Linux女子部第二回勉強会usp友の会
Linux女子部第二回勉強会usp友の会
Awk勉強会用資料
Awk勉強会用資料
正規表現
正規表現
awk入門
awk入門
確率ロボティクス第九回
確率ロボティクス第九回
ALSS14: Xen Project Automotive Hypervisor (Demo)
ALSS14: Xen Project Automotive Hypervisor (Demo)
More from Kenta Yamamoto
The Art of Command Line (2021)
The Art of Command Line (2021)
Kenta Yamamoto
Vulnerability Detection Based on Git History
Vulnerability Detection Based on Git History
Kenta Yamamoto
[論文紹介] VCC-Finder: Finding Potential Vulnerabilities in Open-Source Projects ...
[論文紹介] VCC-Finder: Finding Potential Vulnerabilities in Open-Source Projects ...
Kenta Yamamoto
文字コードとセキュリティ
文字コードとセキュリティ
Kenta Yamamoto
良いUrlを設計する
良いUrlを設計する
Kenta Yamamoto
私たちは何を Web っぽいと感じているのか
私たちは何を Web っぽいと感じているのか
Kenta Yamamoto
優れたビデオゲームに共通する不変の法則
優れたビデオゲームに共通する不変の法則
Kenta Yamamoto
20110805 ui14課題2
20110805 ui14課題2
Kenta Yamamoto
20110804 ui14課題
20110804 ui14課題
Kenta Yamamoto
東日本大震災後の訪日外国人数の変移_2011.3
東日本大震災後の訪日外国人数の変移_2011.3
Kenta Yamamoto
More from Kenta Yamamoto
(10)
The Art of Command Line (2021)
The Art of Command Line (2021)
Vulnerability Detection Based on Git History
Vulnerability Detection Based on Git History
[論文紹介] VCC-Finder: Finding Potential Vulnerabilities in Open-Source Projects ...
[論文紹介] VCC-Finder: Finding Potential Vulnerabilities in Open-Source Projects ...
文字コードとセキュリティ
文字コードとセキュリティ
良いUrlを設計する
良いUrlを設計する
私たちは何を Web っぽいと感じているのか
私たちは何を Web っぽいと感じているのか
優れたビデオゲームに共通する不変の法則
優れたビデオゲームに共通する不変の法則
20110805 ui14課題2
20110805 ui14課題2
20110804 ui14課題
20110804 ui14課題
東日本大震災後の訪日外国人数の変移_2011.3
東日本大震災後の訪日外国人数の変移_2011.3
Recently uploaded
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
Recently uploaded
(9)
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Tips for bash script
1.
bashスクリプトで やったことまとめ
ymkjp
2.
bashスクリプトでやったことまとめ •
ちょっと大きめのスクリプトを書いた o 今後これほど大きなbashスクリプト書くことはなさそうな ので今回学んだことをまとめておく o 内容: bashスクリプト, AWK o ちなみに「bashスクリプトって関数あるんだ」というレベル からはじめました
3.
#!/bin/bash に始まり exit
0 に終わる • 先頭には #!/bin/bash • スクリプト本体の終了コマンド exit 0
4.
コマンドは readonly で •
特定のシェル変数を定数として使用出来る o 誤って値を変更してしまうことがない o unset できない
5.
変数の参照は "${VALUE}" で •
"$VALUE" ダブルクオートは基本 • 明示的に ${VALUE} o 特殊パラメータ $0, $1, $2, ..., $@, $?, $# との区別 この例の場合、” ”がないとsshで意図通りにコマンドを渡せない
6.
別ファイルにして source •
現在実行中のシェルに別のシェルスクリプトを 読みこませる o .bashrc を編集したあとで読み込むときのあれ • 互換性を高めるには .コマンド(推奨) o FreeBSD, Solarisなどの従来のshでも使用可
7.
別ファイル sourceパターン 1. 単に読み込む
o スコープ: 別ファイルの変数は環境変数として読み込ま れる(つまりグローバルなのでConfigなどに適している) 2. 関数にまとめてあとで実行 o しかし関数内の変数もグローバル o なのでローカルにしたい場合はサブシェル( )で実行
8.
オプションの処理は while getopts
で • source で別ファイルにした場所でやろうとする と特殊パラメータの対象が変わってしまうので 読み込む側でやる o オプションごとの処理を関数にまとめて別ファイルにする o 関数の引数は "$OPTARG" で渡せる • 例外は ?) で処理
9.
オプションの処理は while getopts
で
10.
awk -f, -v 1.
awkコマンドを別に記述するには awk -f オプショ ン 2. bashスクリプトの値をawkに渡したければ -v オ プション
11.
参考文献 『シェルスクリプト 基本リファレンス』(技術評論社)
Download now