인터넷에서 특정 설치 프로그램을 다운로드하여 설치하고 이를 실행하는 데스크톱 파일을 생성하고 자동 시작으로 만든 다음 설치 프로그램을 제거하는 bash 스크립트를 만들고 싶지만 스크립트에 원하는 몇 가지 사항이 있습니다. 확인하다. 이러한 것들은 다음과 같습니다:
설치 프로그램의 존재(존재하지 않는 경우 다운로드하고 그렇지 않으면 실행 가능하도록 설정)
이전 설치의 존재(존재하는 경우 제거 프로그램 실행 파일을 설정하고 실행한 후 남은 모든 항목을 제거하고 그렇지 않은 경우 다음 단계로 이동)
apt list를 통한 gksu 패키지 상태 | grep 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, !존재하는 경우 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
설치된 패키지 목록을 반환합니다. 출력 위치에 문자열이 포함되어 있으면 gksu
반환 grep
코드를 0(true를 의미)으로 설정하고 해당 then
절이 실행됩니다. 그렇지 않은 경우 해당 else
절이 실행됩니다.