인터넷에서 특정 설치 프로그램을 다운로드하여 설치하고 이를 시작하는 데스크톱 파일을 생성하고 자동으로 시작하게 한 다음 설치 프로그램을 제거하는 bash 스크립트를 만들고 싶지만 스크립트에서 확인해야 할 몇 가지 사항이 있습니다. . 이러한 것들은 다음과 같습니다:
설치 프로그램이 존재하는지 여부(없으면 다운로드하고 그렇지 않으면 실행 가능하게 만드세요)
이전 설치가 존재합니까(존재하는 경우 제거 프로그램 실행 파일을 설정하고 이를 실행한 후 남은 모든 항목을 삭제하고, 그렇지 않으면 다음 단계로 이동)
apt list | grep gksu를 통해 gksu 패키지의 상태를 확인하고(설치되어 있으면 다음 단계로 이동하고, 그렇지 않으면 설치)
gksu example.run의 출력("GNOME_SUDO_PASS" 줄이 있으면 gksu example.run을 반복하고, 그렇지 않으면 다음 단계로 이동)
답변1
조건: 설치 프로그램 - ls . | grep example.runchmod +x pelda.run else wget 다운로드/링크/of/example.run
내가 이해하는 한, 위의 내용은 다음과 같이 번역될 수 있습니다.
if [ -f example.run ]
then
chmod +x pelda.run
else
wget download/link/of/example.run
fi
[ -f example.run ]
은 이 명령을 사용하는 예입니다 test
. 이름이 지정된 파일이 example.run
존재하는 경우 테스트 명령은 반환 코드를 0(true를 의미)으로 설정합니다. 그렇지 않은 경우 반환 코드를 1(거짓을 의미)로 설정합니다.
조건: gksu - apt list --installed grep gksu if! 존재하는 경우 sudo apt install gksu else gksu pelda.run
위의 내용을 해석하면 다음과 같습니다.
if apt list --installed | grep gksu
then
gksu pelda.run
else
sudo apt install gksu
fi
grep
여기서는 일치 항목이 발견되었는지 여부에 따라 반환 코드를 설정한다는 사실을 사용합니다 . apt list --installed
설치된 패키지 목록을 반환합니다. 출력에 where 문자열이 포함되어 있으면 gksu
반환 grep
코드 0(true를 의미)이 설정되고 then
해당 절이 실행됩니다. 존재하지 않는 경우 else
해당 절이 실행됩니다.