初心者のWEBデザイン

HTML,CSS、その他WEBデザインに関する事を記述していきます。

Shell Script

C言語 return 0 1 真偽値について

C言語の戻り値の0は偽なのに正常終了って逆だと思ってました。その前提が間違っていました。関数の戻り値はBooleanとは無関係でただの「整数」下記のC言語の大原則は揺るぎませんが、戻り値はこれには当てはまりません。 0 偽(false) 0以外 真(true) 0 =…

Shell Script デバッグ コマンドbashdbを使用する

bashdbを使用する bashdbを使用すると1行1行ソースコードを読み込んだり カレント行の変数の値を確認したりすることができます。 ブレイクポイントを設定したりそこまで処理を進めたりもできます。 コマンド名 別名 内容 step s 1ステップ実行する print $変…

Shell Script デバッグの方法

デバック時に使用するコマンドを詳細します。 set -oオプション 1文字のオプション 内容 verbose set -v コマンドを実行する前にコマンドラインの内容を出力する xtrace set -x コマンドラインを展開した後の内容を出力する nounset set -u 未定義の変数を参…

Shell Script 正規表現でマッチした文字列を変数に代入する

$BASH_REMATCH変数の使用方法について記述します。 #!/bin/bash url="https://www.google.com" if [[ $url =~ ^(http|https)://(.+)\.(.+) ]]; then echo "${BASH_REMATCH[0]}" echo "${BASH_REMATCH[1]}" echo "${BASH_REMATCH[2]}" echo "${BASH_REMATCH[3…

Shell Script [[ ]] を用いた比較方法

testコマンド [] よりも での比較はShellScript以外のプログラム言語と 似たような記述が可能になります。[ ]だとAND演算やOR演算は【-a】や【-o】を用いますが、 では&&・||が使用できます。 x=30 if [[ $x -gt 10 && $x -lt 50 ]]; then echo 'x > 10 AND …

Shell Script 関数の呼び出し確認

関数内で関数名を参照したい場合にはFUNCNAME変数を確認します。 この変数は呼び出した関数を実行している間のみ存在します。FUNCNAME変数は主にどの関数で処理を実行したかを表示するときや、 デバッグ時に利用されます。 function print() { echo Hello Wo…

ShellScript コマンドのグループ化・サブシェル

複数のコマンドを実行した出力をまとめて、1つのファイルに リダイレクトする方法を記述します。 コマンドのグループ化 {}カールブラケットを使用 { date +%Y-%m-%d echo ‘Documents List’ ls ~/Documents } > DirectoryList.txt サブシェルによるコマンドの…

bash ShellScript リダイレクト まとめ

bashでコマンドを実行するときに標準入出力の入力元と出力先を 置換することをリダイレクトと言います。 ファイルディスクリプタ プロセスから開かれた全てのファイルには、ファイルディスクリプタと 呼ばれる番号が割り当てられます。 プロセスからファイル…

ShellScript パターン指定

Shellには変数に対して、削除するパターンが指定できます。前方・後方からの検索があり、最短マッチと最長マッチで動作が変わります。dirname・basenameと同じ動きをする記述です。 前方一致(前から検索) # ${変数名##パターン} # 前方からの最長マッチを…

bash grep 拡張子の指定・除外

特定の拡張子のみ対象にする # 複数指定 grep -r "^<\!DOCTYPE html>" --include='*.html' --include='*.php' 特定の拡張子を除外する # 複数指定 grep -r "cat" --exclude='*.class' --exclude='*.js' 便利なオプション i:検索文字列の大文字小文字を区別…

bash sedコマンド 健忘録

動作確認に使用するファイルは下記になります。 1 animal cat dog bird 2 animal cat dog bird 3 animal cat dog bird s/ 検索文字 / 置換文字 /で正規表現も使用できます。 マッチした文字を置換する echo 'animal dog' | sed 's/dog/cat/' # 出力 # animal…

Shell Script 比較一覧

testコマンドで使用する比較の一覧を記述します。 文字列の比較 演算子 内容 str1 = str2 str1とstr2が等しい str1 == str2 str1とstr2が等しい str1 != str2 str1とstr2が等しくない -n str1 str1が空文字列ではない -z str1 = str2 str1が空文字列であ…

ShellScript たまに使用するコマンド 健忘録

完全に個人的な健忘録です。 普段あまり使用しないけど、たまに使用したいコマンド一覧を記述します。 # ファイルタイプを判定する file ファイル名(*と指定するとカレントディレクトリにあるファイル全て) #ファイルのディスク使用量を推定する du #EA(メ…

ShellScript 配列・連想配列

配列のあれこれ 配列宣言 配列の要素を追加 配列の要素数を調べる 要素の削除 全ての要素の参照 配列に存在する要素のインデックスの取得 #!/bin/bash # 配列宣言 animals=(Cat Dog Bird [4]=Lion) # 配列の要素を追加 animals[6]=Elephant # 配列の要素数を…

Shell Script 位置パラメータ・特殊パラメータ

位置パラメータ シェルスクリプトを実行した時の引数を参照するための変数のこと位置パラメータは$+引数のindexで参照できます。 また10以上の位置パラメータは${10}とカールブラケットで囲う必要があります。 #!/bin/bash echo $0 echo arg1:$1 echo arg2…

bash シェルの仕組

LinuxやUnix系のOSには切っても切れないシェル。コマンドラインにコマンドを打った時に実行が終わるまでの 流れを記述します。 コマンドラインにユーザーかコマンドを記述 シェルがコマンドを解釈し展開する コマンド実行前にシェルはforkする 子プロセスがe…

Shell Script 任意で出力文字に色をつける

参考にさせていただきました。d.hatena.ne.jp

bash ShellScript いつも調べていること一覧 健忘録

ShellScriptルーチンワークを自動化する際に書くのですが 毎日触れていないしたまにしか書かないので これなんだっけ?・これどういう風に書くんだっけ?を連発します。なので、健忘録でまとめておきます。 ShellScriptの絶対パスの取得 コマンドの結果を変…

bash ShellScript コマンドの実行結果を変数や配列に代入する

ShellSciprtを書いているとfind・grepなどの結果を変数や配列に1行ずつ代入したいことがあります。 代入方法をいつも調べているので残しておきます。 変数に代入したい場合 ルートディクレトリにcat.txtがあった場合 #!/bin/bash files=$(find . -name "cat.…