0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Linux シェル変数と環境変数

Posted at

分かりそうで分からないシェル変数と環境変数を整理しました。

概要

 シェル変数:実行中のシェル内で有効な変数。子プロセスでは利用不可
 環境変数:実行中のシェル内と子プロセス(シェルから実行されたコマンド)で有効な変数。

変数設定時の書式

 ・=の前後にスペースは利用不可
 ・変数名は英字、数字、アンダーバーを利用できる 
 ・先頭の文字に数字は利用不可
 ・大文字と小文字は区別される
 ・値にスペースが入る場合は以下の引用符で囲む
'(シングルクオーテーション)
 "(ダブルクォーテーション)
`(バッククォーテーション)

引用符

シングルクォーテーション

全て文字列になる。

ダブルクォーテーション

文字列内に変数がある場合、変数の内容が展開される。
展開させたくない場合は先頭に/を利用する

`eeee

バッククォーテーション

バッククォーテーション内にコマンドがあれば、そのコマンドが実行される。
展開させたくない場合は先頭に/を利用する

シェル変数を設定する

書式
変数名=値

var='Hello World'

echo シェル変数を確認する

書式:
echo $変数名 

#echo $var
Hello World

unset シェル変数を解除する

書式
unset 変数名

unset var

環境変数を設定する

書式
export 変数名

#export linux='Hello linux'
#echo $linux
Hello linux

env 変数を確認する。実行対象のコマンドに一時的な環境変数を設定して実行する

例:引数無しで実行すると全ての環境変数が表示されます

#env
~全て環境変数が表示される~

printenv 環境変数の一覧を表示

例:引数無しで実行すると全ての環境変数が表示されます

#printenv
~全て環境変数が表示される~

例:引数有り。

#export linux='Hello linux'
#printenv $linux
Hello linux

set シェル変数と環境変数の一覧を表示する

例:

#set
~全て環境変数が表示される~

よく利用する環境変数

linux上で定義されている環境変数です

変数名 説明
EDIOR 既定のエディタのパス
HISTFAILE コマンド履歴を格納するファイル
HISTFILESIZE HISTFILEに保存する履歴数
HISTSIZE コマンド履歴の最大値
HOME カレントユーザのホームディレクトリ
HOSTNAME ホスト名
LANG ロケール
LOGNAME ログインシェルのユーザ名
PATH コマンドやプログラムを検索するディレクトリリスト
PS1 プロンプトの表示文字列
PS2 複数行にわたる入力時のプロンプト
PWD カレントディレクトリ
TEAM 端末の種類
USER 現在のユーザー
0
0
1

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?