Bash 스크립트를 /bin 디렉토리로 이동

Bash 스크립트를 /bin 디렉토리로 이동

이름이 bash 스크립트입니다. 스크립트.sh. 내 경우에는 잘 작동했습니다./집디렉토리.내 디렉토리로 옮겼습니다./큰 상자디렉토리, 명령으로 실행하기 위한 것입니다. 처음에는 잘 작동했습니다(명령으로, 내/큰 상자), 그러나 다시 시작한 후 작동이 멈췄습니다. 터미널에 를 입력하면 아무 일도 일어나지 않으며 터미널이 다시 작동하도록 하려면 +를 Script.sh사용해야 합니다 . 내CtrlC스크립트.sh내 안에 있어/큰 상자, 내 spd-say명령도 작동하지 않습니다(터미널에서 사용할 때 인수를 발음하지 않습니다). 스크립트를 옮긴 후/큰 상자, 모든 것이 수정됩니다. 파일을 옮기는 데 문제가 있나요?/큰 상자?

$ echo $PATH
:/home/m/bin:/home/m/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

이것은 스크립트의 첫 번째 부분입니다.

#!/bin/bash
spd-say -w "Do you know this man?"
xdg-open $(locate "X.jpg")
read a
if [ "$a" == "yes" ]
then
spd-say -w "Call the police."
else
spd-say -w "Thanks."
fi

답변1

의견을 제시할 만큼 평판이 충분하지 않지만 스크립트를 /usr/local/bin에 넣어야 할 것 같습니다.

에서man hier(7)

/bin
    This  directory contains executable programs which are needed in 
    single user mode and to bring the system up or repair it.

/usr/local/bin
    Binaries for programs local to the site.

알다시피 복사 sudo cp하고 권한을 확인하세요.

하지만 이 프로그램을 자신만을 위해 사용하고 싶다면 /home/$USER/bin폴더에 넣어두세요.

또한 스크립트에서 /usr/local/bin의 경로로 심볼릭 링크를 만들 수 있습니다.

ln -s /full/path/to/your-script.sh /usr/local/bin/<empty or optional name>

관련 정보