Большинство современных сред рабочего стола автоматически запускают файлы, помеченные как исполняемые, при нажатии на них. Просто создайте простой сценарий-оболочку, который запускает нужную команду в вашем любимом текстовом редакторе со следующим содержимым:
#!/bin/bash
java -jar /path/to/app.jar
и сделайте его исполняемым из вашего любимого файлового менеджера или запустив
chmod +x /path/to/script.sh
Теперь, когда вы переходите к каталогу, содержащему ваш сценарий, из вашего файлового менеджера, вы должны иметь возможность щелкнуть (или дважды щелкнуть в зависимости от вашего файлового менеджера ), чтобы выполнить файл.
Обратите внимание, однако, что некоторые файловые менеджеры могут не поддерживать выполнение сценариев таким образом или выдавать предупреждение о том, что вы выполняете команду. Большинство сценариев обычно запускаются из cli, и обычно люди создают файлы входа на рабочий стол для запуска приложений из меню приложений рабочего стола.
Файлы входа на рабочий стол — это файлы, которые сообщают средам рабочего стола Linux, какие приложения вы установили,как их запускать и куча других метаданных о них (, таких как понятное имя и значок ).
Минимальный файл входа на рабочий стол будет выглядеть так::
[Desktop Entry]
Type=Application
Name=Your Apps Name
Exec=java -jar /path/to/app.jar
Categories=Utility;Java;
В среде рабочего стола может быть предусмотрен способ создания этих файлов для вас (проверьте настройки, меню или щелкните правой кнопкой мыши на рабочем столе -это зависит от среды рабочего стола ). Или вы можете создать их вручную, используя ваш любимый текстовый редактор и создав файл в ~/.local/share/applications
, который заканчивается на .desktop
, например ~/.local/share/applications/your-script.desktop
, с содержимым выше.
Файлы рабочего стола имеют преимущество перед сценариями-оболочками, поскольку они добавляются в систему меню среды рабочего стола и часто могут быть размещены на системной панели или на рабочем столе, как и любое другое приложение.
У archlinux есть прекрасное руководство по созданию файлов рабочего стола на их вики или вы можете прочитать спецификации freedesktop.org здесь , чтобы узнать обо всех различных действиях, которые вы можете делать с файлами рабочего стола.
$ echo '[4251][7c3c]' | tr -d '[]' | tr '[:lower:]' '[:upper:]' | cut -c 3-
517C3C
Как функция:
decodeSerial () {
printf '%s\n' "$1" |
tr -d '[]' |
tr '[:lower:]' '[:upper:]' |
cut -c 3-
}
Конвейер удаляет все символы [
и ]
из ввода, преобразует все символы нижнего регистра -в верхний регистр -и отбрасывает первые два символа из результата.
С помощью одного вызова sed
(, который предполагает, что буквенные символы являются шестнадцатеричными цифрами, от a
доf
):
$ echo '[4251][7c3c]' | sed 's/[][]//g; y/abcdef/ABCDEF/; s/^..//'
517C3C
Чтобы сохранить последние шесть символов, а не удалять первые два, этот вызов sed
можно изменить на
sed 's/[][]//g; y/abcdef/ABCDEF/; s/^.*\(.\{6\}\)$/\1/'
Использованиеawk
:
$ echo '[4251][7c3c]' | awk '{ gsub("[][]", ""); print toupper(substr($1,3)) }'
517C3C
С помощью команды awk
в вашей функции (команда sed
выше может быть вставлена аналогичным образом):
decodeSerial () {
printf '%s\n' "$1" |
awk '{ gsub("[][]", ""); print toupper(substr($1,3)) }'
}
Использование awk
без конвейера в функции оболочки:
decodeSerial () {
awk -v string="$1" 'BEGIN { gsub("[][]", "", string); print toupper(substr(string,3)) }'
}
Обратите внимание, что ваш синтаксис ${serial: -6}
— это bash
, который может не работать с /bin/sh
.
Вы можете сделать это с помощью bash манипуляции со строками -:
serial='[4251][7c3c]' ; serial="${serial//[/}" ; serial="${serial//]/}" ; echo "${serial: -6}"
или как функция
decodeSerial () {
serial="$1"
serial="${serial//[/}"
serial="${serial//]/}"
printf '%s\n' "${serial: -6}"
}