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
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
Recently uploaded
(8)
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
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