私はそうだった魚の機能存在する~/.config/fish/functions/confgit.fish
:
function confgit
/home/john/Projects/confgit $argv
end
ただし、この関数を実行すると、次のように表示されます。
fish: The file “/home/john/Projects/./confgit” is not executable by this user
/home/john/Projects/./confgit $argv
^
in function 'confgit'
設定ファイルは一般的なPythonスクリプトです。実行してみると元気になり./confgit
ましたね。
スクリプトの権限は次のとおりです。
-rwxr-xr-x 1 john john 5.8K 29. nov 02.04 confgit*
この機能を使用するには、この問題をどのように解決する必要がありますか?
ご協力ありがとうございます
ベストアンサー1
私はあなたの問題を再現するために苦労しており、私が模倣できる最も近いものは次のとおりです。
# file: ~/bin/janstest
echo $argv
# file: ~/bin/janstest2
function janstest
~/bin/janstest $argv
end
janstest It works!
ファイル権限は次のとおりです。
stew@stewbian ~> ls -l ~/bin/jans*
-rwxr-xr-x /home/stew/bin/janstest*
-rwxr-xr-x /home/stew/bin/janstest2*
実行すると、次のエラーが発生します。
stew@stewbian ~> ~/bin/janstest2
Failed to execute process '/home/stew/bin/janstest2'. Reason:
exec: Exec format error
The file '/home/stew/bin/janstest2' is marked as an executable but could not be run by the operating system.
stew@stewbian ~ [125]>
#!/usr/bin/fish
解決策はスクリプトの前に追加することです。
stew@stewbian ~> cat ~/bin/janstest2
#!/usr/bin/fish
function janstest
~/bin/janstest $argv
end
janstest It works
stew@stewbian ~> ~/bin/janstest2
It works