try catch and ...release
ページ
ホーム
Chromeアプリ開発Tips
公開アプリ
Ubuntu
Linuxコマンド
#!/bin/bash
ブロックチェーンと暗号通貨
#!/bin/bash
# Bashテクニック集 ## 目次 (index) - [if文](#if) - [入力受付](#read) - [文字列分割](#split) - [ループ](#loop) - [配列ループ](#arrayloop) - [空白をtrim](#trim) - [ヒアドキュメント](#heredoc) - [ファイル内文字置換](#replace-in-file) - [ファイルの先頭に文字列追加](#add-firstline) - [ランダム](#random) - [スリープ](#sleep) - [コマンド結果を変数に代入](#set-command-result-into-var) - [プログレスバー](#progressbar) ## if文 (if) ```bash # 第一引数をstrに格納 str=$1 if [ $# -ne 1 ]; then echo "1st arg is empty!" exit fi if [[ $str == "aaa" ]]; then str="AAA" elif [[ $str == "bbb" ]]; then str="BBB" else str="CCC" fi ``` [⤒](#index) ## 入力受付 (read) ```bash echo "何か入力してください:" read hoge echo "$hoge" ``` [⤒](#index) ## 文字列分割 (split) ```bash str="aaa, bbb,ccc " arr=(${str//,/ }) # または: # IFS=', ' read -r -a arr <<< "$str" echo ${arr[0]} # "aaa" echo ${arr[1]} # "bbb" echo ${arr[2]} # "ccc" ``` [⤒](#index) ## ループ (loop) ```bash for ((i = 0; i < 10; i++)) do echo $i done ``` [⤒](#index) ## 配列ループ (arrayloop) ```bash string="aaa,bbb,ccc" IFS=', ' read -r -a array <<< "$string" # loop: for index in "${!array[@]}" do echo "$index : ${array[index]}" done # Output: # 0 : aaa # 1 : bbb # 2 : ccc ``` [⤒](#index) ## 空白をTrim (trim) ```bash string=" aaa " echo ${string//[[:blank:]]/} # "aaa" ``` [⤒](#index) ## ヒアドキュメント (heredoc) ```bash # hoge.txt に直接書き込む cat << EOS > hoge.txt aaa bbb ccc EOS # hoge.txt: # # aaa # bbb # ccc # ``` [⤒](#index) ## ファイル内の文字置換 (replace-in-file) ```bash echo "HOGE=abc" >> hoge.txt # hoge.txtファイル内の 'HOGE=.*' な行を置換: sed -ie "s/^HOGE=.*/HOGE=aaa/g" ./hoge.txt # hoge.txt: HOGE=*** -> HOGE=aaa # hoge.txtファイル内の 'HOGE=.*' な行をタイムスタンプで置換: sed -ie "s/^HOGE=.*/HOGE=$(date +%s)/g" ./hoge.txt # hoge.txt: HOGE=aaa -> HOGE=12345678 ``` [⤒](#index) ## ファイルの先頭に文字列追加 (add-firstline) ```bash $ echo "world" > hoge.txt # ファイルの先頭に"hello"追加: $ sed -i '1i hello' ./hoge.txt $ cat hoge.txt hello world ``` [⤒](#index) ## ランダム (random) ```bash # 1 - 10 の範囲でランダムな数を表示: echo $(((RANDOM % 10) + 1)) ``` [⤒](#index) ## スリープ (sleep) ```bash # 10秒スリープ sleep 10s # 1分スリープ sleep 1m # 1時間スリープ sleep 1h # 1日スリープ sleep 1d ``` [⤒](#index) ## コマンド結果を変数に代入 (set-command-result-into-var) ``` # lsコマンド結果を変数hogeに代入 hoge=$(ls) echo "${hoge}" ``` [⤒](#index) ## プログレスバー (progressbar) 何らかの処理が進んでいることを示すために `#################### (100%)` ←こういうプログレスバーを表示します: ``` for ((i = 1; i <= 10; i++)) do bar=$bar'##' percent=$((i * 10)) echo -ne "$bar ($percent%)\r" sleep 1 done echo -ne '\n' ``` [⤒](#index)
0 件のコメント:
コメントを投稿
ホーム
登録:
投稿 (Atom)
0 件のコメント:
コメントを投稿