LoginSignup
0
0

More than 1 year has passed since last update.

shell 備忘録

Last updated at Posted at 2022-06-08

shellファイル作成

cd /home/
echo $SHELL
which bash > test.sh
chmod +x test.sh
more test.sh
/usr/bin/bash

1行目を編集
vi test.sh

編集後の内容
# more test.sh
#!/usr/bin/bash

項目 説明 備考
#!/usr/bin/bash シバン シェルスクリプトの1行目に必ず書かなくてはいけない

Vim 操作早見表

コメント

#コメント

変数

STR1="aaa"
echo "$aaa"

パラメータ

#!/bin/bash
echo '$1 =' "$1"
echo '$2 =' "$2"
echo '$3 =' "$3"

外部ファイルから値を参照

dev_file.txt
AAA1="a"
BBB1="b"
CCC1="c"
test.sh
#!/usr/bin/bash
source ./dev_file.txt
echo ${AAA1}
echo ${BBB1}
echo ${CCC1}

うまくいかない時

項目 説明 備考
シバン 1行目が「#!」になっていない

リンク

2>&1

expect

項目 説明 備考
-c オプション シェルの中でexpectを動かす場合は、-c オプションを付けます。 expectで処理する内容を "(ダブルクォーテーション) で囲みます
{} 複数行で書く場合はブレース{}で囲む。1行で書けるときは付けない。
set timeout デフォルトのタイムアウトする秒数を指定します。
指定しない場合は10秒となっています。
spawn expect内でプロセスを生成するコマンドです。
expect expectスクリプトで、マシンからの応答を読み取り、パターンマッチをする時に利用します。
パターンマッチはswitch文、case文と同様の処理が実現できます。
-glob globを使います。デフォルトではこれが指定されています。
-regexp 正規表現を使います。 -re
-exact globや正規表現の展開方法を使わず、基本的に文字をそのまま解釈します。
Tclの変数展開は利用可能です。
send マシンに文字列を返答するコマンドです。
exit expectの処理を終了させ、返り値として指定した数字を返します。

終了ステータス

項目 説明 備考
$? コマンド終了時には「終了ステータス (exit-status)」と呼ばれるコマンドの成否を表す数値が特殊変数 $? に自動で設定される
exit シェルスクリプトでは exit コマンドに指定したパラメータ (0 もしくは 1~255 の正の整数値のみ可) が、そのシェルの終了ステータスとなる。シェルスクリプトにおいても正常終了時は exit 0 で、異常終了時には exit 1 で終了するようにするのが慣例である。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0