как создать скрипт для настройки конфигурации Ubuntu / Linux

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

Например, мне нужно сделать 2 конфигурации:

1-ая конфигурация

  1. создать файл с:

    sudo nano /usr/local/bin/loadFlysoftPOS
    
  2. скопируйте следующий текст в вышеуказанный текстовый файл:

    #/bin/bash until pids=$(pidof mysqld)
    do  
    sleep 1
    done
    cd ~/Dokumente/dist/
    java -jar POSv2.jar > log.txt
    
  3. сделайте его доступным для текущего пользователя

    sudo chmod +x /usr/local/bin/loadFlysoftPOS
    

2-я конфигурация

  1. создать файл:

    sudo nano /etc/udev/rules.d/10-local.rules
    
  2. вставить текст в файл:

    SUBSYSTEMS=="usb", DRIVERS=="usb", ATTRS{idVendor}=="0525", ATTRS{idProduct}=="a700", SYMLINK+="usb/sewoo1", GROUP="lp"
    

Так и есть Можно ли сохранить все эти инструкции в одном скрипте и запустить его один раз? Также важно переопределить любой существующий файл, поэтому, если файл с именем /etc/udev/rules.d/10-local.rules уже существует, его содержимое следует очистить и перезаписать содержимым, предоставленным новым сценарием.

Спасибо, ребята, за освещение!

1
задан 16 January 2018 в 16:16

1 ответ

nano интерактивный текстовый редактор - по моему скромному мнению, это не полезно для создания содержания файла программно.

Для Вашего первого случая я предложил бы использовать здесь документ:

cat << \EOF > /usr/local/bin/loadFlysoftPOS
#!/bin/bash 

until $(pidof mysqld)
do  
  sleep 1
done
cd $HOME/Dokumente/dist/ && java -jar POSv2.jar > log.txt
EOF

chmod +x /usr/local/bin/loadFlysoftPOS

Для второго случая, простого echo должен сделать:

echo 'SUBSYSTEMS=="usb", DRIVERS=="usb", ATTRS{idVendor}=="0525", ATTRS{idProduct}=="a700", SYMLINK+="usb/sewoo1", GROUP="lp"' > /etc/udev/rules.d/10-local.rules

Поместите все это в файл с его собственной хижиной:

Файл: myscript.sh

#!/bin/sh

cat << \EOF > /usr/local/bin/loadFlysoftPOS
#!/bin/bash 

until $(pidof mysqld)
do  
  sleep 1
done
cd $HOME/Dokumente/dist/ && java -jar POSv2.jar > log.txt
EOF

chmod +x /usr/local/bin/loadFlysoftPOS

echo 'SUBSYSTEMS=="usb", DRIVERS=="usb", ATTRS{idVendor}=="0525", ATTRS{idProduct}=="a700", SYMLINK+="usb/sewoo1", GROUP="lp"' > /etc/udev/rules.d/10-local.rules

Сделайте это исполняемым файлом и выполните его с sudo

chmod +x myscript.sh
sudo ./myscript.sh
2
ответ дан 7 December 2019 в 13:27

Другие вопросы по тегам:

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