내가 그랬어물고기 기능존재하다 ~/.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