実行中のアプリケーションでエラーが発生しました。
エラーは次のとおりです。
john@john-replacement:~/Desktop/yarbu-1.4.8/bin$ sudo yarbu-engine --VERBOSE
/usr/local/bin/yarbu-engine: line 996: cd: /usr/local/bin/../../etc/yarbu/conf/default: No such file or directory
ポイントは何を意味しますか/usr/local/bin/../../etc/
?
答え1
これは../
「親ディレクトリ」の表記法なので、提案された場合は次のようになります。
/usr/local/bin/../../etc/yarbu/conf/default
システムはこの問題を次のように解決します。
/usr/etc/yarbu/conf/default
これはディレクトリにあり、2回/usr/local/bin
入力した後にディレクトリ cd ..
にあるのと同じです。/usr
これを直接確認できます。
$ cd /usr/local/bin
$ pwd
/usr/local/bin
$ cd /usr/local/bin/../../../
$ pwd
/
答え2
Gabeの答えに加えて、これも良いです。
Unixコマンドreadlinkは常にファイルまたはディレクトリの実際のパスを返します。readlink -f /usr/local/bin/../../etc/
は返します/usr/etc/
。
このコマンドはシンボリックリンクもチェックします。たとえば、私のシステムではreadlink -f /usr/bin/java
returnです/usr/lib/jvm/jdk-7.15-oracle-x64/jre/bin/java
。どちらのユースケースもスクリプトに非常に便利です。
注:(..
また、.
現在存在するディレクトリも参照)いいえUNIXのみ。同じ操作は、少なくともすべてのdos / windows、mac、linux / unix / bsdベースのオペレーティングシステムにも適用されます。