Есть ли способ отключить разрешение символических ссылок для утилиты OSX 'open'?

Предположим, у меня есть файл с именем a.txt и другой файл b.txt которая является символической ссылкой, указывающей на a.txt, У меня также есть собственное приложение, которое установлено в качестве приложения по умолчанию для .txt файлы. Теперь, когда я печатаю

 $ open b.txt 
в терминале это выглядит как open утилита автоматически разрешила символическую ссылку, потому что мое приложение получило a.txt в качестве параметра при запуске.

Есть ли способ отключить разрешение символических ссылок для OSX open полезность? Я проверил страницу руководства open но нет ничего о символических ссылках.

2 ответа

Решение

Я нашел обходной путь:

$ open -a /Applications/MyApp.app --args <path_to_file>

Это силы open передать аргумент без изменений. Но есть одна загвоздка - если вы передадите относительный путь в качестве аргумента, то путь будет относительным к /Applications, а не к вашему текущему каталогу, что немного раздражает. Но это лучшее решение, которое я придумал.

$ find a.txt -type f -exec open {} \;

-> это откроет ваш файл.txt.

$ find b.txt -type f -exec open {} \;

-> файл не открыт.

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