ここ名前が..のファイルが見つかりました..:;
。mkdir '..:;'
素晴らしい作品。ただし、PATHでは、ディレクトリ名がPATHに割り当てられます:
。このディレクトリをPATHに追加するには?
答え1
:
POSIX標準では、名前に含まれるディレクトリを変数値に使用できないと明示的に言及しています。PATH
PATH
「環境変数」セクションの環境変数に関するトピックを参照してください。その他の環境変数:
このコンテキストでは区切り文字が使用されるため、
<colon>
使用可能なディレクトリ名にはその文字をPATH
含めないでください。<colon>
zsh
シェルでは、検索パスにディレクトリを追加してpath
配列変数を変更できます(例:結ぶ PATH
):
path+=( '/some/path/..:;' )
または、最後の代わりに最初にエントリを追加します。
path=( '/some/path/..:;' $path )
PATH
ただし、これを実行した後に配列を介さずにを使用してシェルの検索パスを変更すると、項目が作成されますpath
。さらに、変更されたパスはシェルでは機能しますが、他のシェルまたはそのシェルでは機能しない可能性があります。アプリケーションが期待どおりに動作します。..:;
:
zsh
答え2
~によるとStackOverflowへの答えです。$PATH
、これはシェルが解釈しないため不可能ですが、execvp
エスケープ区切り文字を提供しません。