Как мне закодировать дефис в команде открытия терминала Bash?
Я пытаюсь написать небольшой скрипт, который запускает Beyond Compare, когда я делаю SVN diff. Я получил это работает до сих пор:
open -a /Applications/Beyond\ Compare.app "$6" "$7"
Чтобы получить полную функциональность, мне нужно добавить аргументы с дефисом (-, тире, знак минус)
open -a /Applications/Beyond\ Compare.app "$6" "$7" -title1="$3" -title2="$5" -readonly
Но когда я это делаю, команда open интерпретирует дефисы как флаги для себя и завершается с:
open: invalid option -- i
usage: ...
Я попытался "процитировать" всю команду или - избежать опций. Что я должен сделать, чтобы получить дополнительную функциональность?
1 ответ
Решение
Смотрите открытую справочную страницу:
--args
All remaining arguments are passed to the opened application in the argv parameter to
main(). These arguments are not opened or interpreted by the open tool.
Итак, ваша команда будет выглядеть так:
open -a /Applications/Beyond\ Compare.app "$6" "$7" --args -title1="$3" -title2="$5" -readonly