73337


下記のShellScriptの意味がわかりませんので、解説していただけないでしょうか？  
具体的には1行目の`${EUID:-${UID}} = 0`の意味がよくわかりません…。

[code]

    if [ ${EUID:-${UID}} = 0 ]; then
        echo 'I am root.'
    fi
    
[/code]


CC BY-SA 4.0
2021-01-15T18:52:35.743
73327
2021-01-16T04:25:03.370
2021-01-16T04:25:03.370
3060
36906
question
linux bash shellscript
ShellScriptでルート権限かどうかを調べるスクリプトを書きたいのですが、${EUID:-${UID}} = 0の解説をしていただけますか？


> ${EUID:-${UID}} = 0

は変数EUIDが未定義または値が空のとき、変数UIDの値と0を比較しています。

bashの例ですがmanマニュアルに詳しい説明があります。  
<https://linuxjm.osdn.jp/html/GNU_bash/man1/bash.1.html>

> ${parameter:-word}  
>  デフォルトの値を使います。 parameter が設定されていないか空文字列であれば、 word を展開したものに置換されます。そうでなければ、
> parameter の値に置換されます。


CC BY-SA 4.0
2021-01-16T03:14:39.387
73337
2021-01-16T03:14:39.387
35558
73327
answer