| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「シェルプログラミング 変数」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
 
(同じ利用者による、間の2版が非表示)
1行目: 1行目:
==シェルプログラミング 変数==
 
 
[[シェルプログラミング]] |  
 
[[シェルプログラミング]] |  
 
+
==[[シェルプログラミング 変数]]==
 
=====変数=====
 
=====変数=====
 
*変数は宣言せずに使用
 
*変数は宣言せずに使用
9行目: 8行目:
 
*変数に値を割り当てる場合以外$を使う
 
*変数に値を割り当てる場合以外$を使う
 
*echoで内容を出力できる
 
*echoで内容を出力できる
 +
*等号(=)の前後に空白を含めてはいけない
  
 
ソース
 
ソース

2020年11月18日 (水) 13:13時点における最新版

シェルプログラミング |

シェルプログラミング 変数

変数
  • 変数は宣言せずに使用
  • すべて文字列として扱われる
  • 大文字小文字を区別
  • 変数の前に$をつけることで、値を取得できる
  • 変数に値を割り当てる場合以外$を使う
  • echoで内容を出力できる
  • 等号(=)の前後に空白を含めてはいけない

ソース

msg=Hello
echo $msg

結果

Hello
ユーザの入力
  • readコマンドを使用すると、ユーザからの入力を変数に格納できる

ソース

echo your name ?
read username
echo your name is $username

結果

your name ?
yagi
your name is yagi
クォート
  • 二重引用符内の$変数は値が展開される
  • 引用符内の$変数は値が展開されない
  • \$は$をエスケープ
myvar="Hello"
ソース 出力
echo $myvar Hello
echo "$myvar" Hello
echo '$myvar' $myvar
echo \$myvar $myvar
環境変数
環境変数 説明
$HOME ホームディレクトリ
$PATH コマンド検索パス
$PS1 コマンドプロンプト
$IFS 内部フィールドセパレータ。シェルが入力を読むときに区切りに使用する文字
$0 シェルスクリプトの名前
$# 渡されたパラメータ数
$$ プロセスID
  • env
パラメータ変数
パラメータ変数 説明
$1、$2・・・ スクリプトに渡されたパラメータ
$* すべてのパラメータを1つの変数で表したもの $IFS使用
$@ すべてのパラメータを1つの変数で表したもの $IFS使用しない

ソース(hoge)

IFS=
echo "$1"
echo "$2"
echo "$*"
echo "$@"

結果

$ sh hoge  aaa bbb ccc
aaa
bbb
aaabbbccc
aaa bbb ccc



上記はこの本からの覚書。

非常にわかりやすく説明されている良書