우분투 21.10에서 이 bash 설치 스크립트를 만들고 있습니다. 첫 번째 부분을 테스트하려고 했는데 이 오류가 발생했습니다.
/tmp/geany_run_script_GBYCG1.sh: 7: ./install sauerbraten 2020: Permission denied
(program exited with code: 126)
Press return to continue
지금까지의 스크립트는 다음과 같습니다.
#!/bin/bash
DIRECTORY="$(dirname "$(dirname "$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )")")"
function error {
echo -e "\\e[91m$1\\e[39m"
exit 1
}
wget https://sourceforge.net/projects/sauerbraten/files/sauerbraten/2020_11_29/sauerbraten_2020_12_29_linux.tar.bz2/download
#tar -xf
무엇이 잘못되었으며 어떻게 해결합니까?
답변1
오류는 bash 스크립트에서 발생하는 것이 아니라 Geany가 파일을 실행하는 데 사용하는 쉘 래퍼 스크립트에서 발생합니다(F5를 누르거나빌드->실행메뉴 아이템).
기본 지니구현하다작업은 "./%f"
파일 이름을 가져와서 다음 /tmp
과 같은 스크립트 로 래핑하는 것입니다.
#!/bin/sh
rm $0
cd '/home/username'
"./name of your file"
echo "
------------------
(program exited with code: $?)"
echo "Press return to continue"
#to be more compatible with shells like dash
dummy_var=""
read dummy_var
오류는 스크립트의 7번째 줄에서 발생합니다.
"./name of your file"
./install sauerbraten 2020
권한 비트로 인해 파일을 실행할 수 없음을 나타냅니다 . 사용자에게 실행 비트가 설정되지 않았을 수 있습니다. 당신은 그것을 고칠 수 있습니다
chmod +x "./install sauerbraten 2020"