次の間に微妙な違いはありますか?
file
そして
./file
相対パスで?
ベストアンサー1
シェルまたはexec*p()
libc関数でコマンド名として使用されている場合は、現在のfile
ディレクトリを検索しfile
($PATH
またはシェルの場合は組み込みバージョンを呼び出すか、その名前で関数を呼び出すことができます)、./file
現在のディレクトリを探します。ディレクトリが実行されます。
これは特別な動作を引き起こさず、./
コマンド名/
に$PATH
。を含むように与えられる./cmd
。cmd
/
この./
プレフィックスは、ファイル名が特定のコマンドで問題となる文字で始まらないようにするためによく使用されます。
たとえば、
rm ./-f
削除-f
, while がオプションで呼び出されrm -f
ます (また使用可能)。または:rm
-f
rm -- -f
cat ./-
awk '{print $1}' ./a==b.txt
そこには役に立ちません--
。
拡張によって問題のある文字が生成されるかどうか不明なスクリプトrm ./*
またはスクリプトを見つけます。awk ... ./*
*