прямо сейчас у меня есть несколько инструкций, которые я должен добавить отдельно с помощью ручного труда (запустить терминал, скопировать инструкции вставки, вставить инструкции в текстовый файл), поэтому я подумал, что должен быть способ упаковать все эти команды в один текстовый файл и запустить его один раз.
Например, мне нужно сделать 2 конфигурации:
создать файл с:
sudo nano /usr/local/bin/loadFlysoftPOS
скопируйте следующий текст в вышеуказанный текстовый файл:
#/bin/bash until pids=$(pidof mysqld)
do
sleep 1
done
cd ~/Dokumente/dist/
java -jar POSv2.jar > log.txt
сделайте его доступным для текущего пользователя
sudo chmod +x /usr/local/bin/loadFlysoftPOS
создать файл:
sudo nano /etc/udev/rules.d/10-local.rules
вставить текст в файл:
SUBSYSTEMS=="usb", DRIVERS=="usb", ATTRS{idVendor}=="0525", ATTRS{idProduct}=="a700", SYMLINK+="usb/sewoo1", GROUP="lp"
Так и есть Можно ли сохранить все эти инструкции в одном скрипте и запустить его один раз? Также важно переопределить любой существующий файл, поэтому, если файл с именем /etc/udev/rules.d/10-local.rules уже существует, его содержимое следует очистить и перезаписать содержимым, предоставленным новым сценарием.
Спасибо, ребята, за освещение!
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