Можно ли вставлять слова в команду?

Привет, я пытаюсь сделать установщик, совместимый с различными дистрибутивами Linux. Можно добиться чего-то вроде этого (см. Последнюю строку кода).

PACKAGE_MANAGER=$1
INSTALL_PACKAGE_CMD=""

# CHECK PACKAGE MANAGER
if [ "$s1" == apt ]
then INSTALL_PACKAGE_CMD="apt install -y" fi
if [ "$s1" == pacman ]
then INSTALL_PACKAGE_CMD="pacman --noconfirm --force" fi

# INSTALL PACKAGE 
# (using the selected package manager)
sudo $INSTALL_PACKAGE_CMD sqlite
0
задан 9 May 2018 в 00:13
1 ответ

В отличие от C, окончания строк не игнорируются bash. Попробуйте следующее:

s1=$1
INSTALL_PACKAGE_CMD=""

# CHECK PACKAGE MANAGER
if [ "$s1" == apt ] ; then
    INSTALL_PACKAGE_CMD="apt install -y" 
fi
if [ "$s1" == pacman ] ; then 
    INSTALL_PACKAGE_CMD="pacman -S --noconfirm --force"
fi

# INSTALL PACKAGE 
sudo $INSTALL_PACKAGE_CMD sqlite
2
ответ дан 4 December 2019 в 13:26

Теги

Похожие вопросы