パスに使用されるとき、バックスラッシュが何を意味するのか知りたいです。たとえば、次のようになります。
ll /opt/deployment/release175/war-files\ files/
たとえば、次のようになります。
accounting-module.war
finance-module.war
ありがとうございます。
答え1
バックスラッシュ脱出する特徴特定の特殊文字を解釈しないようにシェルに指示します。あなたの場合は、空白文字をエスケープします。
シェルでは、引数を区切るためにスペースを使用することがよくあります。バックスラッシュがない場合、シェルは空白を正常に解釈します。呼び出しには2つのパラメータがありll
、これにより「ファイルまたはディレクトリが見つかりません」というエラーが発生する可能性があります。
あるいは、引数を引用符で囲むこともできます。
ll /opt/deployment/release175/war-files\ files/
ll "/opt/deployment/release175/war-files files/"
ll '/opt/deployment/release175/war-files files/'
バックスラッシュは他の特殊文字をエスケープするためにも使用されます。
\(
\$
\{
\*
\#
\\
答え2
Unix / Linux(またはPOSIX)では、バックスラッシュはエスケープ文字です。
この特別なケースでは、バックスラッシュは空白を超えています。存在しない場合、ll
コマンドは次のことを試みます。
/opt/deployment/release175/war-files\
そして
files/
二重引用符または一重引用符を使用することもできます。
ll "opt/deployment/release175/war-files files/"
ll 'opt/deployment/release175/war-files files/'
バックスラッシュは、他のコマンドを介して他の特殊文字をエスケープするためにも使用できます。
rpm -qa | postgre\*
grep \.regex file
sed 's/\/this\/path/\/that/\/path/g'