シンボリックリンクディレクトリと出力リダイレクト

シンボリックリンクディレクトリと出力リダイレクト

次のコマンドを実行すると、symlinked-dir他のディレクトリへのシンボリックリンクがそのファイルがcatないと文句を言います。実際、そのようなファイルは存在しません。本物代わりにパス、しかし、これには、出力を介したシンボリックリンクへのパスが含まれているため、少なくともpwdリンク側でそのリンクの場所をcd知ることができます。pwdリダイレクトもこれを知っていることを願っています。

cd symlinked-dir && echo $(pwd) >> ../tmp && cd .. && cat tmp

それでは、上記のコマンドが機能するにはどうすればよいですか?

編集:DebianまたはGentooのシェルはBashです(両方とも同じように動作します)。

ベストアンサー1

のみ:

(cd symlinked-dir && pwd) >> tmp && cat tmp

サブシェルで実行されているため、サブシェルcdにのみ影響し、サブシェルの外部でリダイレクトを実行します(サブシェルが作成される前でも)。

.txtファイルへの標準(symlinkなし)絶対パスが必要な場合pwd。ただし、コマンドがあれば簡単に使用できます。pwd -Psymlinked-dirrealpathrealpath symlinked-dir > tmp

おすすめ記事