나는 원해요:
- 사용자에게 snap이 설치되어 있는지 물어보세요. 스냅샷을 설치하고 종료하는 스크립트를 실행하지 않는 경우 계속 진행합니다.
- gimp를 설치한 후 gimp 설치가 완료되었음을 알리는 메시지를 표시합니다.
- 사용자에게 김프를 실행할지 물어보세요. 그렇다면 gimp를 실행하고, 그렇지 않다면 스크립트를 종료하세요.
답변1
이것은 sh
호환되는 스크립트입니다. 스크립트의 다른 부분이 수행하는 작업을 설명하는 주석을 제공하십시오.
snap
apt
OP가 설치 방법을 지정하지 않았기 때문에 패키지 관리자를 사용하여 설치해도 괜찮다고 생각합니다 snap
.
#!/usr/bin/env sh
# Exit early if any command fails
set -e
installSnap() {
# Assumption: This script is run only on Debian-based Linux distributions
echo 'snap not installed, installing snap...'
sudo apt update
sudo apt install snapd
echo 'snap installed. Log out and back in again before using snap.'
}
# If snap is not installed, install snap and exit
command -v snap || { installSnap && echo 'Exiting install script.' && exit 0; }
# Install GIMP
echo 'Installing GIMP...'
snap install gimp
echo 'GIMP installed.'
# Prompt user for input, and store input in answer
printf 'Would you like to run GIMP (y/n)? '
read -r answer
# If answer begins with 'Y' or 'y', start gimp
# Run gimp in background with nohup so gimp will continue running after
# this script terminates
# We likely aren't interested in gimp's output, so redirect it to /dev/null
[ "$answer" != "${answer#[Yy]}" ] && nohup gimp > /dev/null 2>&1 &