JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
マニュアルページセクション 1: ユーザーコマンド     Oracle Solaris 11.1 Information Library (日本語)
このドキュメントの評価
search filter icon
search icon

ドキュメントの情報

はじめに

紹介

User Commands

acctcom(1)

adb(1)

addbib(1)

admin(1)

alias(1)

allocate(1)

amt(1)

appcert(1)

apptrace(1)

apropos(1)

ar(1)

arch(1)

as(1)

asa(1)

at(1)

atq(1)

atrm(1)

audioconvert(1)

audioctl(1)

audioplay(1)

audiorecord(1)

audiotest(1)

auths(1)

auto_ef(1)

awk(1)

banner(1)

basename(1)

basename(1B)

batch(1)

bc(1)

bdiff(1)

bfs(1)

bg(1)

biff(1B)

break(1)

builtin(1)

cal(1)

calendar(1)

case(1)

cat(1)

cd(1)

cdc(1)

cdrw(1)

chdir(1)

checkeq(1)

checknr(1)

chgrp(1)

chkey(1)

chmod(1)

chown(1)

chown(1B)

ckdate(1)

ckgid(1)

ckint(1)

ckitem(1)

ckkeywd(1)

ckpath(1)

ckrange(1)

ckstr(1)

cksum(1)

cktime(1)

ckuid(1)

ckyorn(1)

clear(1)

cmp(1)

col(1)

comb(1)

comm(1)

command(1)

compress(1)

continue(1)

cp(1)

cpio(1)

cpp(1)

cputrack(1)

crle(1)

crontab(1)

csh(1)

csplit(1)

ct(1C)

ctags(1)

ctrun(1)

ctstat(1)

ctwatch(1)

cu(1C)

cut(1)

date(1)

dc(1)

deallocate(1)

decrypt(1)

delta(1)

deroff(1)

df(1B)

dhcpinfo(1)

diff(1)

diff3(1)

diffmk(1)

digest(1)

digestp(1)

dircmp(1)

dirname(1)

dirs(1)

dis(1)

disown(1)

dispgid(1)

dispuid(1)

dos2unix(1)

dpost(1)

du(1)

du(1B)

dump(1)

dumpcs(1)

dumpkeys(1)

echo(1)

echo(1B)

ed(1)

edit(1)

egrep(1)

eject(1)

elfdump(1)

elfedit(1)

elffile(1)

elfsign(1)

elfwrap(1)

encrypt(1)

enhance(1)

env(1)

eqn(1)

errange(1)

errdate(1)

errgid(1)

errint(1)

erritem(1)

error(1)

errpath(1)

errstr(1)

errtime(1)

erruid(1)

erryorn(1)

eval(1)

ex(1)

exec(1)

exit(1)

expand(1)

export(1)

exportfs(1B)

expr(1)

expr(1B)

exstr(1)

factor(1)

false(1)

fastboot(1B)

fasthalt(1B)

fc(1)

fg(1)

fgrep(1)

file(1)

file(1B)

filebench(1)

filep(1)

filesync(1)

filofaxp(1)

find(1)

finger(1)

fmt(1)

fmtmsg(1)

fold(1)

for(1)

foreach(1)

franklinp(1)

from(1B)

ftp(1)

function(1)

gcore(1)

gencat(1)

geniconvtbl(1)

genmsg(1)

get(1)

getconf(1)

getfacl(1)

getlabel(1)

getopt(1)

getoptcvt(1)

getopts(1)

gettext(1)

gettxt(1)

getzonepath(1)

glob(1)

goto(1)

gprof(1)

grep(1)

groups(1)

groups(1B)

grpck(1B)

hash(1)

hashcheck(1)

hashmake(1)

hashstat(1)

head(1)

helpdate(1)

helpgid(1)

helpint(1)

helpitem(1)

helppath(1)

helprange(1)

helpstr(1)

helptime(1)

helpuid(1)

helpyorn(1)

hist(1)

history(1)

hostid(1)

hostname(1)

i386(1)

i486(1)

iconv(1)

if(1)

indxbib(1)

install(1B)

ipcrm(1)

ipcs(1)

isainfo(1)

isalist(1)

jobs(1)

join(1)

jsh(1)

kbd(1)

kdestroy(1)

keylogin(1)

keylogout(1)

kill(1)

kinit(1)

klist(1)

kmdb(1)

kmfcfg(1)

kpasswd(1)

krb5-config(1)

ksh(1)

ksh88(1)

ksh93(1)

ktutil(1)

kvno(1)

lari(1)

last(1)

lastcomm(1)

ld(1)

ldapadd(1)

ldapdelete(1)

ldaplist(1)

ldapmodify(1)

ldapmodrdn(1)

ldapsearch(1)

ldd(1)

ld.so.1(1)

let(1)

lex(1)

lgrpinfo(1)

limit(1)

line(1)

list_devices(1)

listusers(1)

llc2_autoconfig(1)

llc2_config(1)

llc2_stats(1)

ln(1)

ln(1B)

loadkeys(1)

locale(1)

localedef(1)

logger(1)

logger(1B)

login(1)

logname(1)

logout(1)

look(1)

lookbib(1)

lorder(1)

ls(1)

ls(1B)

m4(1)

mac(1)

mach(1)

machid(1)

madv.so.1(1)

mail(1)

Mail(1B)

mail(1B)

mailcompat(1)

mailp(1)

mailq(1)

mailstats(1)

mailx(1)

make(1S)

makekey(1)

man(1)

mconnect(1)

mcs(1)

mdb(1)

mesg(1)

mkdir(1)

mkmsgs(1)

mkstr(1B)

mktemp(1)

moe(1)

more(1)

mp(1)

mpss.so.1(1)

msgcc(1)

msgcpp(1)

msgcvt(1)

msgfmt(1)

msggen(1)

msgget(1)

mt(1)

mv(1)

nawk(1)

nc(1)

ncab2clf(1)

ncakmod(1)

neqn(1)

netcat(1)

newform(1)

newgrp(1)

newsp(1)

newtask(1)

nice(1)

nl(1)

nm(1)

nohup(1)

notify(1)

nroff(1)

od(1)

on(1)

onintr(1)

optisa(1)

pack(1)

packagemanager(1)

page(1)

pagesize(1)

pargs(1)

passwd(1)

paste(1)

patch(1)

pathchk(1)

pax(1)

pcat(1)

pcred(1)

perl(1)

pfbash(1)

pfcsh(1)

pfexec(1)

pfiles(1)

pfksh(1)

pflags(1)

pfsh(1)

pftcsh(1)

pfzsh(1)

pg(1)

pgrep(1)

pkcs11_inspect(1)

pkg(1)

pkgdepend(1)

pkgdiff(1)

pkgfmt(1)

pkginfo(1)

pkglint(1)

pkgmerge(1)

pkgmk(1)

pkgmogrify(1)

pkgparam(1)

pkgproto(1)

pkgrecv(1)

pkgrepo(1)

pkgsend(1)

pkgsign(1)

pkgtrans(1)

pkill(1)

pklogin_finder(1)

pktool(1)

plabel(1)

pldd(1)

plgrp(1)

plimit(1)

pmadvise(1)

pmap(1)

pm-updatemanager(1)

popd(1)

ppgsz(1)

ppriv(1)

pr(1)

praliases(1)

prctl(1)

preap(1)

print(1)

printenv(1B)

printf(1)

priocntl(1)

proc(1)

prof(1)

profiles(1)

projects(1)

prs(1)

prt(1)

prun(1)

ps(1)

ps(1B)

psig(1)

pstack(1)

pstop(1)

ptime(1)

ptree(1)

pushd(1)

pvs(1)

pwait(1)

pwd(1)

pwdx(1)

radadrgen(1)

ranlib(1)

rcapstat(1)

rcp(1)

read(1)

readonly(1)

red(1)

refer(1)

regcmp(1)

rehash(1)

remote_shell(1)

remsh(1)

renice(1)

repeat(1)

reset(1B)

return(1)

rksh(1)

rksh88(1)

rlogin(1)

rm(1)

rmail(1)

rmdel(1)

rmdir(1)

rmformat(1)

rmmount(1)

rmumount(1)

roffbib(1)

roles(1)

rpcgen(1)

rpm2cpio(1)

rsh(1)

runat(1)

rup(1)

rup(1C)

ruptime(1)

rusage(1B)

rusers(1)

rwho(1)

sact(1)

sar(1)

sccs(1)

sccs-admin(1)

sccs-cdc(1)

sccs-comb(1)

sccs-delta(1)

sccsdiff(1)

sccs-get(1)

sccs-help(1)

sccshelp(1)

sccs-prs(1)

sccs-prt(1)

sccs-rmdel(1)

sccs-sact(1)

sccs-sccsdiff(1)

sccs-unget(1)

sccs-val(1)

scp(1)

script(1)

sdiff(1)

sed(1)

sed(1B)

select(1)

set(1)

setenv(1)

setfacl(1)

setlabel(1)

setpgrp(1)

settime(1)

sftp(1)

sh(1)

shcomp(1)

shell_builtins(1)

shift(1)

shutdown(1B)

size(1)

sleep(1)

soelim(1)

sort(1)

sortbib(1)

sotruss(1)

source(1)

sparc(1)

spell(1)

spellin(1)

split(1)

srchtxt(1)

ssh(1)

ssh-add(1)

ssh-agent(1)

ssh-http-proxy-connect(1)

ssh-keygen(1)

ssh-keyscan(1)

ssh-socks5-proxy-connect(1)

stop(1)

strchg(1)

strconf(1)

strings(1)

strip(1)

stty(1)

stty(1B)

sum(1)

sum(1B)

sun(1)

suspend(1)

svcprop(1)

svcs(1)

switch(1)

symorder(1)

sys-suspend(1)

sysV-make(1)

t300(1)

t300s(1)

t4014(1)

t450(1)

tabs(1)

tail(1)

talk(1)

tar(1)

tbl(1)

tcopy(1)

tee(1)

tek(1)

telnet(1)

test(1)

test(1B)

tftp(1)

time(1)

timemanp(1)

times(1)

timesysp(1)

timex(1)

tip(1)

touch(1)

touch(1B)

tplot(1)

tput(1)

tr(1)

tr(1B)

trap(1)

troff(1)

true(1)

truss(1)

tset(1B)

tsort(1)

tty(1)

type(1)

typeset(1)

ul(1)

ulimit(1)

umask(1)

unalias(1)

uname(1)

uncompress(1)

unexpand(1)

unget(1)

unhash(1)

unifdef(1)

uniq(1)

units(1)

unix2dos(1)

unlimit(1)

unpack(1)

unset(1)

unsetenv(1)

until(1)

updatehome(1)

uptime(1)

userattr(1)

users(1B)

uucp(1C)

uudecode(1C)

uuencode(1C)

uuglist(1C)

uulog(1C)

uuname(1C)

uupick(1C)

uustat(1C)

uuto(1C)

uux(1C)

vacation(1)

val(1)

valdate(1)

valgid(1)

valint(1)

valpath(1)

valrange(1)

valstr(1)

valtime(1)

valuid(1)

valyorn(1)

vc(1)

vedit(1)

ver(1)

vgrind(1)

vi(1)

view(1)

vipw(1B)

volcheck(1)

volrmmount(1)

w(1)

wait(1)

wc(1)

what(1)

whatis(1)

whence(1)

whereis(1B)

which(1)

while(1)

who(1)

whoami(1B)

whocalls(1)

whois(1)

write(1)

xargs(1)

xgettext(1)

xstr(1)

yacc(1)

yes(1)

ypcat(1)

ypmatch(1)

yppasswd(1)

ypwhich(1)

zcat(1)

zlogin(1)

zonename(1)

zonestat(1)

ドキュメントの品質向上のためのご意見をください
簡潔すぎた
読みづらかった、または難し過ぎた
重要な情報が欠けていた
内容が間違っていた
翻訳版が必要
その他
Your rating has been updated
貴重なご意見を有り難うございました!

あなたの貴重なご意見はより良いドキュメント作成の手助けとなります 内容の品質向上と追加コメントのためのアンケートに参加されますか?

expr

- 引数を式として評価する

形式

/usr/bin/expr argument...
/usr/xpg4/bin/expr argument...
/usr/xpg6/bin/expr argument...

機能説明

/usr/bin/expr, /usr/xpg4/bin/expr

expr ユーティリティーは式を評価して、その結果を標準出力に書き出します。文字 0 はゼロ値として書き込まれ、何もない場合は NULL 文字列として書き込まれます。

/usr/xpg6/bin/expr

expr ユーティリティーは式を評価して、その結果とその後に NEWLINE を標準出力に書き出します。expr 処理からの結果がない場合、NEWLINE が標準出力に書き込まれます。

オペランド

argument オペランドは式として評価されます。式の項は空白文字で区切る必要があります。シェルに対する特殊文字は、エスケープする必要があります (sh(1) 参照)。空白文字またはその他の特殊文字を含む文字列は、引用符で囲む必要があります。式の長さは LINE_MAX (2048 文字) に制限されます。

演算子とキーワードを以下に示します。優先度の低いものから順に並べてあり、等しい優先度の演算子は、{ } 記号内にグループ分けされています。演算子はすべてその左に関わります。

expr \| expr

1 番目の exprNULL または 0 のどちらでもない場合、1 番目の expr の評価を返します。それ以外の場合、2 番目の expr が NULL でなければ、2 番目の expr の評価を返します。そうでなければ、0 を返します。

expr \& expr

expr が両方とも NULL または 0 以外の場合、最初の expr を返します。それ以外の場合は、0 を返します。

expr{ =, \>, \>=, \<, \<=, !=} expr

両引数とも整数の場合、整数比較の結果を返します。それ以外の場合、ロケール固有の連立シーケンスを使用して、文字列比較の結果を返します。各比較の結果は、指定された関係が TRUE の場合は 1FALSE の場合は 0 になります。

expr { +, - } expr

整数値引数の加減。

expr { \*, /, %} expr

整数値引数の乗除または剰余。

expr : expr

マッチング演算子 : (コロン) は、最初の引数と 2 番目の引数を比較します。2 番目の引数は国際化された基本正規表現である必要があります。ただし、すべてのパターンが文字列の最初にアンカーされるという点を除きます。つまり、文字列の最初の文字から始まるシーケンスだけが正規表現と一致することができます。regex(5) および「注意事項」を参照してください。通常、/usr/bin/expr のマッチング演算子は一致したバイト数を返し、/usr/xpg4/bin/expr のマッチング演算子は一致した文字数を返します (失敗時は 0)。2 番目の引数に少なくとも 1 つの、基本正規表現のサブエクスプレッション [\(...\)] が含まれる場合、マッチング演算子は \1 に対応する文字列を返します。

integer

数字だけからなる引数。先頭に負記号を付けることもできます。

string

integer 引数、または演算子符号の 1 つとして識別することができない文字列の引数です。

index、length、match、および substr の 4 つの演算子の優先度はすべて同じです。

index string character-list

character-list のバイトが string のバイトと一致する、string の最初のバイトを報告します (1 からカウントします)。character-list のバイトが string のバイトと一致しない場合は、0 が返されます。

length string

string の長さ (バイト数) を返します。終端 NULL 文字はそのカウントには含まれません。

match string regular-expression

expr : expr マッチング演算子と同義です。

substr string integer-1 integer-2

位置 integer-1 から始まる、長さが integer-2 バイトのバイトシーケンスを string から抽出します (1 からカウントします)。integer-1 が string のバイト数よりも大きい値である場合、expr は NULL 文字列を返します。string にあるバイト数よりも多く抽出しようとした場合、expr は string から残りのすべてのバイトを返します。integer-1 または integer-2 のどちらかが負の値である場合、結果は不確定です。

使用例

例 1 整数をシェル変数に追加する

シェル変数 a に 1 を追加します。

example$ a=`expr  $a  +  1`

例 2 パス名の要素を返す

以下は basename(1) をエミュレートする例です。これは、$a というパス名の最後の要素を返します。$a/usr/abc/file か、ただの file のいずれかと等価の場合に、この例は、file を返します。(引数としての単独の / に注意してください。 expr は / を除数演算子とみなします。後述の「注意事項」を参照.)

example$ expr $a : '.*/\(.*\)' \| $a

例 3 // 文字を使用して式を単純にする

前の例を改善したものです。// 文字を追加してあるので、除算演算子についてのあいまいさはなくなり、式全体が単純になっています。

example$ expr //$a : '.*/\(.*\)'

/usr/bin/expr

例 4 変数にバイト数を返す

example$ expr "$VAR" : '.*'

/usr/xpg4/bin/expr

例 5 変数に文字数を返す

example$ expr "$VAR" : '.*'

環境変数

expr の実行に影響を与える次の環境変数 の詳細については、environ(5) を参照してください。LANGLC_ALLLC_COLLATELC_CTYPELC_MESSAGES、および NLSPATH

終了ステータス

式を評価した結果として、expr は次の終了値を返します。

0

式が NULL でも 0 でもない場合。

1

式が NULL または 0 である場合。

2

不正な式の場合。

>2

エラーが発生した。

属性

属性についての詳細は、マニュアルページの attributes(5) を参照してください。

属性タイプ
属性値
使用条件
system/core-os
CSI
有効。「注意事項」を参照してください。
インタフェースの安定性
下記を参照。
標準
standards(5) を参照してください。

match、substr、length、および index 演算子は「不確実」です。ほかはすべて「確実」です。

関連項目

basename(1), ed(1), sh(1), Intro(3), attributes(5), environ(5), regex(5), standards(5)

診断

syntax error

演算子とオペランドのエラー

non-numeric argument

数値ではない文字列に対して演算を行う

注意事項

次の 3 つの演算子は CSI に対応していません。これらは、/usr/xpg4/bin/expr および /usr/xpg6/bin/expr で使用することもできません。

index string character-list

length string

substr string integer-1 integer-2

シェルによる引数の処理後、expr は、値による場合を除き、演算子とオペランドの違いを区別できなくなります。$a= の場合、

example$ expr $a = '='

というコマンドは、次のコマンドと等価になります。

example$ expr = = =

これは、引数が expr に渡される (さらに、すべて引数が = 演算子と見なされる) ためです。次のコマンドは正しく動作します。

example$ expr X$a = X=

正規表現

旧バージョンのあるバージョンとは違って、expr はシステムに提供されたすべてのロケールに対して、国際化された基本正規表現を使用します。国際化された正規表現に関しては regex(5) のマニュアルページを参照してください。