Вы можете использовать xdg-mime
, чтобы установить приложение по умолчанию для открытия URL-адресов без изменения браузера по умолчанию.(xdg-settings
используется для установки браузера по умолчанию):
Получите приложение по умолчанию (в вашем случае firefox):
xdg-mime query default x-scheme-handler/http
xdg-mime query default x-scheme-handler/https
Чтобы установить Google -Chrome в качестве приложения по умолчанию, используйте следующую команду:
xdg-mime default google-chrome.desktop x-scheme-handler/http
xdg-mime default google-chrome.desktop x-scheme-handler/https
Похоже, вы хотите передать вашей функции два аргумента командной строки, сообщение и имя человека, которому нужно отправить сообщение:
reply myFriend002 'Hello, wanna play tag?'
Когда ваша функция вызывается таким образом, строка myFriend002
будет доступна в $1
в функции, а строка Hello, wanna play tag?
будет доступна в $2
. Переменные $1
и $2
называются первыми двумя позиционными параметрами .
Затем вы можете использовать эти две переменные в своей функции следующим образом:
reply () {
osascript -e 'tell application "Messages" to send "'"$2"'" to buddy "'"$1"'"'
}
Странные кавычки вокруг $1
и $2
предназначены для разрыва строки в одинарных кавычках, заключения в двойные кавычки раскрытия каждой переменной, а затем продолжения строки в одинарных кавычках.
Вы также можете использовать
reply () {
osascript -e "tell application \"Messages\" to send \"$2\" to buddy \"$1\""
}
...что может быть легче читать.
Или, если вы хотите пофантазировать, сначала создайте значение для опции -e
параметра osascript
отдельно:
reply () {
local script
printf -v script \
'tell application "Messages" to send "%s" to buddy "%s"' "$2" "$1"
osascript -e "$script"
}