文字でパスワードを指定する必要がありますが、行にコメントが付いています#
。文字通り読むようにするにはどうすればよいですか?
PASSWORD=xpto#123
例:コメントなしで入れる必要があります。123
答え1
もし
PASSWORD=xpto#123
Bourneに似たシェル(bash、dash、ksh、zsh ...)のコードで、#
コメントとして扱われません。これらのシェルでは、コメントはシェルタグの先頭#
にのみ導入されます(したがって、スペースまたは、、、;
...の先頭または後ろ)。|
&&
rc
シェルや派生プログラム(形状で割り当てを行う他のシェル)では、コメント文字として扱われますが、var=value
これらの文字を使用していると疑われます。
おそらく、コメントを挿入することは一般的ないくつかの設定ファイルでそれを使用しようとします#
。
構成ファイルの実際の標準はありませんので、どうですか?脱出する文字(他のコメントと見なされる場合)は、実際の構成ファイルによって異なります。
そのプロファイルまたはそのプロファイルが属するソフトウェアのマニュアルをお読みください。
文字をエスケープする一般的な方法には、二重引用符("..."
)、一重引用符('...'
)、または文字の前にバックスラッシュが含まれます。 8進数シーケンス²(\043
)、16進数²(\x23
)、またはUnicode(\u0023
)を使用して文字を入力することもできます。引用符の処理方法が一部変更されることがあります(バックスラッシュまたはその他の文字が引用符の中に特殊かどうか...)。
1rc
シェルの唯一の引用演算子はです(そして一重引用符自体は一重引用符内に表示されます'...'
)。シェル(Byron Rakitzisから派生したUnixレプリカ)''
では、またはを使用することもできます。es
rc
\#
\043
\x23
² これは次のことを示します。バイトしたがって、aはASCII文字セットまたは互換性のある文字セット\x43
としてのみエンコードします#
。これは、今日使用されているほとんどの文字セットでなければならず、まだEBCDICを使用しているまれなIBMシステムを除いて例外です。ただし、ASCII以外の文字を使用する場合は、この点に注意してください。\u0023
一方、(Unicodeを介して)#
文字は保証されます。
答え2
バックスラッシュを使用して#をエスケープすることもできます。
PASSWORD=xpto\#123