Bashでこの行は何をしますか?パラメータ-||スクリプト名

Bashでこの行は何をしますか?パラメータ-||スクリプト名

私はbashマニュアルページと私のシステム(CentOS 6.7)のスクリプトを読み、bashマニュアルページで内容を見つけました。これは良い練習でした。たとえば、/etc/profile位置引数に実際にオプションがない場合にオプションが設定されているかどうかを確認する方法を学びました(これはうまくいきません)。-igetopts

bashしかし、次の文は私を完全に困惑させました。マニュアルページにその機能を説明するものが見つかりません。

LESSOPEN="${LESSOPEN-||/usr/bin/lesspipe.sh %s}"

(これはの行の一部です/etc/profile.d/less.sh。)

私が何かを見逃しているのだろうかman bash


うん、私は以前は何か抜けた部分がありますman bash:説明の上に「抜けた部分です」と${parameter:-word}書かれています。Omitting the colon results in a test only for a parameter that is unset.(ところで、「冗長性」の質問は扱いません。)

割り当てられたデフォルト値が "or"演算子の後のスクリプト名であるという事実は、私をさらに混乱させます! :)

ベストアンサー1

具体的ではありませんが、bash1976年からBourne Shellにいました。

Bourne Shell のマニュアルページをご覧ください。

http://schillix.sourceforge.net/man/man1/bosh.1.html

セクションを確認してください。パラメータの置換現在7ページから始まります。

${parameter-word}        Use Default Values. If parameter is unset,
                         the  expansion  of  word is substituted;
                         otherwise,  the  value of parameter is substituted.

全体の概要は次のとおりです。

                     | parameter nonnull | parameter null  | parameter unset
  ___________________|___________________|_________________|________________
  ${parameter:-word} | subst. parameter  | subst. word     | subst. word
  ___________________|___________________|_________________|________________
  ${parameter-word}  | subst. parameter  | subst. null     | subst. word
  ___________________|___________________|_________________|________________
  ${parameter:=word} | subst. parameter  | assign word     | assign word
  ___________________|___________________|_________________|________________
  ${parameter=word}  | subst. parameter  | subst. null     | assign word
  ___________________|___________________|_________________|________________
  ${parameter:?word} | subst. parameter  | error, exit     | error, exit
  ___________________|___________________|_________________|________________
  ${parameter?word}  | subst. parameter  | subst. null     | error, exit
  ___________________|___________________|_________________|________________
  ${parameter:+word} | subst. word       | subst. null     | subst. null
  ___________________|___________________|_________________|________________
  ${parameter+word}  | subst. word       | subst. word     | subst. null
  ___________________|___________________|_________________|________________

おすすめ記事