実行ファイルへのパスの長さが107文字になるように私のLinuxマシンに置かれた実行ファイルを持っています。コマンドecho -n "/path/to/the/executable" | wc -c -m
を使用して文字数を検出しました。私はその完全なパスと実行ファイルを実行しようとすると、私は次のエラーを取得する:ダッシュ、ファイルパスに制限があります
sh: 1: /subpath/to/the/executable: not found
私は/subpath/to/the/executable
の長さをチェックし、それは81文字です。パスの長さが81文字未満になるように実行可能ファイルを配置した場合、私は上記を得られませんsh error
。
私はいくつかの検索を行い、Linux envのファイルパスの制限は255文字であることを確認しました。ダッシュやシェルにファイルパスに制限があるかどうかはわかりませんでした。私のマシンでは、/ bin/shは/ bin/dashへのシンボリックリンクです。
ダッシュによって強制されるファイルパスでこの制限を81文字まで説明できますか?限界を増やす方法はありますか?
'/ subpath /'は存在していますか?それは何ですか、/(ルート)またはサブフォルダ内のフォルダですか? (なぜそれを完全なパスとして参照するのですか?) –
実際のパスが長さよりも関係していると思われます。 – chepner
@OleksandrKravchuk、 '/ subpath /'は存在しません。 '/ path/to/the/executable 'の最初の81文字です。実行ファイルはさまざまなディレクトリの中に置かれ、現在のディレクトリを変更してファイルを '。/ file'として実行できますが、Javaコードから実行していますので、完全なパスを提供する必要があります。 – user2888308