📝

Bash入門

1 min read

Bashの備忘録です。随時追記します。

Bashを書こうとする人が初めてプログラミングを学ぶ人ということはまず無いと思うので、詳細な説明は省略します。

Hello World!

変数を宣言するとき=の前後に空白は入れません

#!/bin/bash

a="Hello World!"

echo $a

Hello World!

配列

#!/bin/bash

A=("H" "He" "Li" "Be" "B" "C" "N" "O" "F" "Ne")

echo ${A[2]}

Li

For文(外延)

#!/bin/bash

for atom in "H" "He" "Li" "Be"; do
  echo $atom
done

H
He
Li
Be

For文(内包)

#!/bin/bash

for ((i=1; i<6; i++)); do
  echo $i
done

1
2
3
4
5

配列&For文

#!/bin/bash

A=("H" "He" "Li" "Be" "B" "C" "N" "O" "F" "Ne")

for i in "${!A[@]}"; do
  echo $i ${A[i]}
done

0 H
1 He
2 Li
3 Be
4 B
5 C
6 N
7 O
8 F
9 Ne

入力ファイル生成

パラメータを変えた入力ファイルを大量に作りたい時に使う例。Gaussianで水素分子の一点計算を行う入力ファイルを二重ループで3×3パターン生成する。

#!/bin/bash

for method in "HF" "CID" "CISD"; do
for basis in "STO-3G" "3-21G" "4-31G"; do
echo "# ${method}/$basis Units=AU

H2

0 1
H 0.0 0.0 0.0
H 0.0 0.0 1.4



" > "H2_${method}_${basis}.com"
done
done

出力としては9個のGaussianのインプットファイルが生成されます。これはGaussianの例ですが、Hartree-Fock極限とか相関エネルギーを可視化するときに使えると思います。

Discussion

ログインするとコメントできます