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

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

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

1st Configuration

создать файл с: sudo nano /usr/local/bin/loadFlysoftPOS скопировать следующий текст в [3]

создать файл с помощью sudo nano /usr/local/bin/loadFlysoftPOS

] создать файл с помощью:

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 в 17:16

3 ответа

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

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

[ f1]

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

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

Поместите все это в файл со своим собственным shebang:

Файл: [ f7]

#!/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
ответ дан 22 May 2018 в 15:32
  • 1
    Большое вам спасибо за ваши усилия в детализации, как эта работа. Кроме того, вы предоставили BashGuide / InputAndOutput, которые предоставляют такую ​​полезную информацию в этом вопросе. Ты просто спас мой день! Еще раз спасибо за вашу лаконичность и утонченность! – Chiggiddi 16 January 2018 в 17:14
  • 2
    Я провел некоторое исследование и нашел это ( askubuntu.com/questions/138908/… ), чтобы помочь мне настроить сценарий оболочки как исполняемый файл, аналогичный запуску, дважды щелкнув файл .exe , Надеюсь, это поможет кому-то. – Chiggiddi 16 January 2018 в 17:20

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

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

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

Поместите все это в файл со своим собственным shebang:

Файл: 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
ответ дан 17 July 2018 в 23:06

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

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

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

Поместите все это в файл со своим собственным shebang:

Файл: 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
ответ дан 24 July 2018 в 13:38

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

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