Сценарий для Mac 'batchfile'? - PullRequest
3 голосов
/ 10 августа 2010

В Windows я бы создал файл .bat для запуска этого скрипта со своего рабочего стола, на моем Mac как создать нечто подобное, которое можно запустить с рабочего стола, чтобы выполнить это:

 defaults write com.apple.finder AppleShowAllFiles TRUE
 killall Finder

Ответы [ 4 ]

4 голосов
/ 10 августа 2010

Создайте файл со следующим содержанием

#!/bin/bash
defaults write com.apple.finder AppleShowAllFiles TRUE
killall Finder

В файле Terminal.app запустите chmod o+x <filename>, чтобы сделать файл исполняемым.

Чтобы запустить файл, просто откройте терминал.приложение и ./<filename>

4 голосов
/ 10 августа 2010

Назовите файл .command или .sh.

2 голосов
/ 10 августа 2010

Инструкции Shoan по созданию сценария оболочки будут работать нормально, но вам нужно запустить его из терминала. Если вы добавите предложение jtbandes о присвоении имени файла суффикса .command (.sh у меня не работает), файл станет двойным щелчком в Finder - но он все равно открывает окно терминала и оставляет его открытым, когда оно отделки. Если вы не хотите, чтобы вас это беспокоило, есть пара способов выполнить работу без каких-либо посторонних элементов интерфейса:

1- Создайте AppleScript в редакторе AppleScript (который может быть / Applications / Utilities / AppleScript Editor.app или / Applications / AppleScript / Script Editor.app, в зависимости от того, какая у вас версия OS X). Введите это как ваш скрипт:

do shell script "defaults write com.apple.finder AppleShowAllFiles TRUE; killall Finder"

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

2- Создайте рабочий процесс Automator с помощью / Applications / Automator. Используйте шаблон приложения (опять же, чтобы сделать его двойным щелчком мыши), найдите действие «Run Shell Script» во втором столбце (это огромный список, поэтому я просто набираю «shell» в поле поиска вверху) и перетаскиваю это в рабочее пространство справа. Убедитесь, что он настроен на использование подходящей оболочки, вставьте свои команды и сохраните.

0 голосов
/ 11 декабря 2014

Раньше я использовал командные файлы, но боль была в том, чтобы найти папку, где хранились скрипты. Это стало болью, поэтому теперь я использую псевдонимы, которые работают из любого места в терминале и не требуют поиска вашего скрипта.

Конечно, вы можете использовать их вместе.

Для начала вам нужно получить доступ к вашему bash_profile.

Профиль bash - это невидимый файл, который живет на вашем компьютере, я считаю, что он бездомный без определенного местоположения.

Так как ты это нашел?

Ну, он либо существует, либо его нет, поэтому для доступа к файлу просто напишите:

sudo nano ~/.bash_profile 

Эта команда создаст его или откроет

Оказавшись внутри, добавьте следующие строки:

alias showFiles='defaults write com.apple.finder AppleShowAllFiles YES; killall Finder /System/Library/CoreServices/Finder.app'
alias hideFiles='defaults write com.apple.finder AppleShowAllFiles NO; killall Finder /System/Library/CoreServices/Finder.app'

Вот так ...

ctrl + O to save
ctrl + X to exit

И, наконец, обновить профиль bash:

source ~/.bash_profile

Как вы используете команды? Теперь, чтобы показать файлы, просто напишите: showFiles, а чтобы скрыть файлы, просто напишите: hideFiles ... вуаля!

Я использую это, чтобы облегчить жизнь при использовании терминала. Например, для ssh на веб-сайты, или для открытия файлов справки, или для доступа к mysql и т. Д. И т. Д.

Вот еще несколько вариантов использования, которые вам могут пригодиться:

alias goWebsite='open http://www,google.com'
alias goDoc='open -a TextEdit /users/myusername/documents/mydocument.txt'
alias goLocation='cd /applications/mamp/htdocs/workspaces/general/website.com/trunk'
alias sshToServer='ssh user@mysite.sitename.com'

Теперь все, что вам нужно сделать, это ввести псевдоним с терминала, и команда будет выполнена.

Надеюсь, вы найдете это полезным

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...