setとは、シェル変数を表示又は設定する Linux/Unix シェルコマンドである。
シェル | set |
---|---|
sh | ✓ |
bash | ✓ |
dash | ✓ |
ksh | ✓ |
set [ -x | +x ]
オプションを指定せずに set コマンドを実行すると、現在設定されているシェル変数及び環境変数の一覧が表示される。
$ set | more
BASH=/bin/bash
BASH_ALIASES=()
BASH_ARGC=([0]="0")
BASH_ARGV=()
BASH_CMDS=()
BASH_COMPLETION_VERSINFO=([0]="2" [1]="10")
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="5" [1]="0" [2]="17" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu")
BASH_VERSION='5.0.17(1)-release'
COLUMNS=120
DIRSTACK=()
EUID=1000
GROUPS=()
HISTCONTROL=ignoreboth
HISTFILE=/home/tsuka/.bash_history
HISTFILESIZE=2000
HISTSIZE=1000
HOME=/home/tsuka
HOSTNAME=E595
HOSTTYPE=x86_64
IFS=$' \t\n'
LANG=C.UTF-8
--More--
以下に示すオプションを set コマンドに指定できる。
$ echo Hooray
Hooray
$ set -x
$ echo Hooray
+ echo Hooray
Hooray
$ set -x
$ echo Hooray
+ echo Hooray
Hooray
$ set +x
+ set +x
$ echo Hooray
Hooray
shにおけるsetコマンドの使用例を示す。
$ cat example.sh
set `ls /home/marina`
while [ 0 -lt $# ]
do
echo $1
shift 1
done
$ ls /home/marina
foo bar baz
$ sh example.sh
foo
bar
baz
$