Bash profile mac os что это

Консоль для маководов: Beyond the GUI

Доброго дня, уважаемые хабравчане-маководы!

Сегодня я расскажу как увеличить эффективность работы в Mac OS X за счёт использования консоли.

Лирическое отступление

Думаю, ни для кого не секрет, что Mac OS является Unix-based системой, но переработанной почти до неузнаваемости. Даже консоль засунули куда подальше — не сразу и найдёшь. И вся система нацелена на использование GUI, при дефолтных настройках даже переключение между кнопками по Tab не работает — без мыши никуда. И тем не менее, Мак — это не только окошки, не только док и лаунчер. Мак это ещё и вся мощь shell скриптов и консоли!

Если Вы пришли из мира M$, то для начала неплохо бы поучить общие команды shell’а, например, по вот этому учебному пособию. Как минимум, нужно усвоить команды перехода по каталогам и способы запуска программ и скриптов.

Если Вы пришли в мир Mac OS из мира Linux’а и FreeBSD, то, скорее всего, знаете как минимум основы shell-скриптинга. Но и для вас в статье может оказаться кое-что интересное, ведь в маке есть уникальные консольные команды, которые так же полезно знать.

Вот о некоторых особенностях маковской консоли далее и пойдёт речь.

Начнём работу


Для начала избавимся от стандартного терминала. Ну, точнее, поставим другой — получше. Я лично предпочитаю iTerm2, который подходит для работы куда лучше системного. Хотя, и у него бывают интересные моменты (см. картинку вверху).

Далее нам могут понадобиться дополнительные инструменты, поэтому устанавливаем MacPorts (хотя, конечно, можно и другой менеджер пакетов). Теперь мы можем ставить нужные консольные утилиты с помощью простых команд. Например, ставим Midnight Commander (он в любом случае может пригодиться), набираем в iTerm2:

После ввода пароля и установки зависимостей и самого mc, можем его запустить, как вы уже догадались, командой mc .

О ужас! Нам понадобятся функциональные клавиши, а они нажимаются только через Fn+F15 , что же делать? Ну как что — лезть в системные настройки и выключать это. Иначе сложно будет с mc работать.

Ещё одно важное замечание: кури мануалы если что-то не понятно, набираем в консоли man команда — и получаем подробное описание команды. (Кстати, для выхода из просмотра мануала надо просто нажать Q).

Продолжаем знакомство с консолью. Команда open

Легко можно заметить, что mc показывает куда больше файлов и папок, чем Finder. Конечно, можно поставить хак для него, чтобы он отображал такие файлы, но не все это любят. Так что остаётся лишь пользоваться Cmd+Shift+G и вводить вручную имя папки. Но данный способ не особо удобен: нет автокомплита, нет возможности видеть скрытые файлы. Теперь вернёмся к терминалу. В Mac OS X есть замечательнейшая команда open , которая действует так, как будто пользователь сделал даблклик на файле или папке в Finder — открывает файл, бандл или ссылку в связанной программе, открывает папку в Finder’е. Вот простой пример работы с этой командой: заходим с помощью mc в скрытую папку (например, /etc/) и набираем:

Wuala! Файндер отобразил нам нашу системную папку! Но это ещё не всё, ведь скрытые файлы всё ещё не видны. Для примера, откроем наш .profile :

И — опа! — скрытый файл открылся в TextEdit! Всё предельно просто.

Пара слов о бандлах

Это всем известно, но на всякий случай повторю: обычные программы в Mac OS X на самом деле являются папками с расширением .app и особым образом устроенным содержимым. Убедиться в этом легко: открываем в Finder папку /Applications/ и делаем Ctrl+Click (либо Right-Click , если хотите) на любой программе и выбираем «Показать содержимое пакета».

Из консоли это так же очень хорошо видно: mc отображает эти программы именно как папки. И как же запустить из консоли GUI-программу, спросите вы? Очень просто, есть даже два способа.

Читайте также:  Чтобы windows 10 жрала память

Способ первый, простейший:

Программа будет запущена и консоль будет свободна для дальнейших действий.

Способ второй, интересный:

Программа будет запущена, но консоль не освобидится — она будет ждать завершения программы и выводить всё, что программа захочет вывести в неё. То есть, таким образом можно посмотреть рабочий лог некоторых программ.

Ещё одно очень важное различие между этими двумя методами: второй позволяет запустить два экземпляра программы, в то время как первый активирует уже запущенную, буде такая имеется. Так что через консоль можно решить и эту проблему (хотя, скорее фичу) макоси: через Finder, док и лаунчер запустить два экземпляра программы нельзя, а вот из консоли — пожалуйста, хоть двадцать два.

Скрипт?

Расскажу вкратце что из себя представляет shell-скрипт. По сути — это обычный текстовый файл, содержащий серию команд для выполнения. Самый простой скрипт просто запускает последовательно все команды. Скрипты посложнее могут иметь условия, циклы и функции, то есть, скрипт может быть весьма большой и сложной программой. Основной плюс таких скриптов — на их службе вся мощь консольных утилит из мира unix, что с лихвой компенсирует бедность языковых конструкций. Приведу простой пример скрипта, который преобразует все файлы .png в текущей директории, уменьшив их размер до 200 пикселей в ширину или высоту.

Пример простейший, но он демонстрирует главное: в скриптах сокрыта великая сила.

Скрипты AppleScript

В Mac OS X имеется несколько встроенных механизмов по автоматизации действий. Один из очень распространённых — AppleScript, для которого есть и графический редактор-запускатор. Но использовать такие скрипты можно и из консоли, для этого есть особая утилита — osascript . Использовать её можно так:

Не буду углубляться в AppleScript, он заслуживает отдельной статьи, и даже не одной. Так что рекомендую почитать справку или гугл по нему.

Главное: Вы можете комбинировать shell-скрипты со скриптами AppleScript, чтобы добиться максимальной гибкости в работе! К примеру, я использую такие вот смешанные скрипты для автоматической стилизации образа диска: сам диск создаётся с помощью shell (см. ниже), а фон и расположение элементов в образе задаётся с помощью AppleScript.

Есть ещё Automator, но он совсем уж GUI-шный, так что в данной статье его рассматривать бессмысленно. Он, конечно, полезный, но до мощи консоли не дотягивает.

Кратко о других полезных командах Mac OS X

Полный (ну, почти) список уникальных для макоси команд можно найти в одной хорошей статье (хотя сведения там немного устарели), я же вкратце расскажу о наиболее интересных.

Для работы с образами дисков имеется консольная утилита hdiutil . Пара примеров работы с ней:

Более подробно про возможности можно узнать из man hdiutil .

Если Вы — разработчик программ для макоси, то наверняка знаете о такой замечательной вещи, как Info.plist, да и вообще о plist’ах. Так вот, есть очень удобная утилита, позволяющая конвертировать .plist в .bplist, то есть, в более быстрый и лёгкий бинарный формат плиста.

Если хотите позаниматься ерундой, то можно из консоли проговорить любой текст. Для этого есть утилита say .

Так же можно задавать голос, которым мак будет с нами говорить:

Читайте также:  Mac os mojave образ bdu

Одна беда — по-умолчанию говорит эта штука только по-английски.

Теперь снимем скриншот командой из консоли.

Так же из консоли можно конвертировать текст между различными форматами. Например, можно переконвертировать .doc файл в HTML:

Так же textutil умеет преобразовывать кодировки.

Для изменения системных (и не только) настроек, можно использовать команду defaults . Используем её во благо! Включим наконец отображение скрытых файлов и папок в Finder!

Файндер автоматически перезапустится и теперь будет отображать скрытые файлы и папки! Но опять таки, это не всем нравится, так давайте это выключим, пока родителикто-нибудь не испугался или не удалил нужных файликов. Для сокрытия в уже указанной команде поставьте 0 вместо 1. Ну и для примера, ссылка на статью, где описано много твиков с помощью этой команды.

Что-то типа заключения

Ну что ж, мы разобрали некоторые интересные возможности консоли в Mac OS X. Статья, разумеется, не претендует на полноту и является, скорее, «заманухой» для вовлечения маководов в shell-скриптинг да и вообще в консоль.

Источник

Как мне отредактировать $ PATH (.bash_profile) в OSX?

Я пытаюсь отредактировать запись в PATH, так как что-то сделал не так.

Я использую Mac OS X 10.10.3

Но редактор файлов открывается, а внутри ничего нет.

Я пытаюсь установить ANDROID_HOME в свой PATH

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

На этот раз я набрал команду правильно, но когда закрыл терминал, мои настройки снова исчезли.

Как мне выполнить желаемые настройки?

Если бы мне пришлось редактировать bash.profile, как бы я ввел приведенный выше код?

10 ответов

Вы должны открыть этот файл в текстовом редакторе, а затем сохранить его.

Он откроет файл с помощью TextEdit, вставит ваши вещи и затем сохранит. Если вы откроете его снова, вы найдете свои правки.

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

Но если вы не знаете, как их использовать, проще использовать подход open .

Кроме того, вы можете положиться на pbpaste . Копировать

В системном буфере обмена, а затем в оболочке

Или вы также можете использовать cat

(теперь cat ждет ввода: вставьте два определения экспорта и нажмите ctrl-D).

Самый простой ответ:

Шаг 1. Запустите Terminal.app.

Шаг 2: введите nano .bash_profile — эта команда откроет документ .bash_profile (или создаст его, если он еще не существует) в самом простом в использовании текстовом редакторе Терминала — Nano.

Шаг 3. Теперь вы можете просто изменить файл. Вставьте эти строки кода, чтобы изменить приглашение терминала.

Экспорт PS1 = «___________________ | \ w @ \ h (\ u) \ n | =>»

Шаг 4: Теперь сохраните изменения, набрав ctrl + o, нажмите return, чтобы сохранить. Затем выйдите из Nano, набрав ctrl + x.

Шаг 5: Теперь нам нужно * активировать ваши изменения. Введите source .bash_profile и посмотрите, как изменится ваше приглашение.

Это оно! Наслаждайтесь!

Определите, какую оболочку вы используете, набрав echo $SHELL в Терминале.

Затем откройте / создайте правильный файл rc. Для Bash это $HOME/.bash_profile или $HOME/.bashrc . Для оболочки Z это $HOME/.zshrc .

Добавьте эту строку в конец файла:

Для проверки обновите переменные, перезапустив Терминал или набрав source $HOME/. , а затем сделав echo $PATH

Для меня Mac OS — Мохаве. и я сталкиваюсь с той же проблемой в течение трех дней, и в конце я просто записываю правильный путь в файле .bash_profile, который выглядит следующим образом:

  • note1: если у вас нет .bash_profile, создайте его и напишите строку выше
  • note2: заархивируйте загруженный SDK flutter в [home] / development, если вы скопируете и вставите этот путь

Mac OS X сохраняет путь не в .bash_profile, а в .profile, поскольку Mac OS X является ветвью семейства * BSD. Вы должны увидеть экспорт-бла-бла-бла в .profile после того, как выполните cat .profile на своем терминале.

Читайте также:  Что это такое msvbvm50 dll для windows

Установите путь JAVA_HOME и ANDROID_HOME> Вы должны открыть терминал и ввести приведенный ниже cmd.

После этого вставьте ниже пути в файл базового профиля и сохраните его.

В Macbook шаг за шагом:

    Прежде всего откройте терминал и напишите его: cd

/

  • Создайте свой файл bash: touch .bash_profile
  • Вы создали свой файл «.bash_profile», но если вы хотите его отредактировать, вы должны его написать;

    1. Измените свой профиль bash: open -e .bash_profile

    После сохранения в верхнем левом углу экрана: Файл> Сохранить .

    Для начинающих: чтобы создать файл .bash_profile в домашнем каталоге в MacOS, запустите:

    Затем вы можете вставить следующее:

    Как видите, он включает несколько примеров псевдонимов и переменную среды внизу.

    Когда вы закончите вносить изменения, следуйте инструкциям в нижней части окна редактора Nano для WriteOut ( Ctrl-O ) и Exit ( Ctrl-X ). Затем выйдите из Терминала и снова откройте его, и вы сможете использовать только что определенные псевдонимы и переменные среды.

    Если вы используете MAC Catalina, вам необходимо обновить файл .zshrc вместо .bash_profile или .profile

    Немного подробнее для новичков:

    Сначала убедитесь, что существует файл .bash_profile? Помните, что файл .bash_profile отсутствует по умолчанию. Вы должны создать его самостоятельно.

    Войдите в свою папку пользователя в Finder . Там должен быть найден файл .bash_profile. -> HD / Пользователи / [ИМЯ ПОЛЬЗОВАТЕЛЯ]

    Помните: файлы с точкой в ​​начале ‘.’ по умолчанию скрыты .

    Чтобы отобразить скрытые файлы в Mac OS Finder:

    Если он не существует, вы должны создать .bash_profile самостоятельно.

    Откройте приложение терминала и перейдите в папку пользователя с помощью простой команды:

    Если его нет, используйте эту команду для создания файла :

    Во-вторых, если вы не можете запомнить сложные команды для сохранения и закрытия в vim, nano и т. Д. (Способ, рекомендованный выше), самый простой способ редактировать — открыть файл .bash_profile в предпочитаемом вами редакторе кода (Sublime и т. Д.).

    Finder -> Папка пользователя. Щелкните правой кнопкой мыши -> открыть с помощью: Sublime Text (или другого редактора кода). Или перетащите его в приложение в доке.

    … А там его можно редактировать, передавать команды экспорта в новые строки.

    Источник

    Разница между .bashrc, .profile, .bash_profile, …?

    / .bash_profile загружается при входе в систему. Он читается только один раз.

    / .bashrc загружается каждый раз при запуске оболочки (например, при запуске терминала), но не загружается при первом входе в систему.

    Примечание. Некоторые терминалы (например, gnome-terminal) имеют возможность «запускать команду в качестве оболочки входа», то есть, если она включена, она сначала загрузит файл

    / .profile), прежде чем запускать

    Примечание. В Mac OS X приложение Terminal запускается как оболочка входа, поэтому он запускает файл

    / .bash_profile. Различные unixes имеют разную настройку.

    Вот выдержка из man bash:

    Также есть <.login, .profile, …>. Это в основном наследие, которое bash также может читать.

    .login – это устаревший файл инициализации входа для исходной оболочки, оболочка Bourne «sh». BASH (Bourne-Again SHell) является в основном совместимой расширенной версией.

    Во многих системах unix / bin / sh привязывается к / bin / bash.

    В Ubuntu Linux, 2006, / bin / sh является символической ссылкой на / bin / dash. тире является новым. «Тире» меньше и быстрее, чем bash, для запуска сценариев запуска системы.

    Файл .profile является устаревшим исходным файлом оболочки оболочки для оболочки Bourne «sh».
    .csh – это файл init для оболочки csh. (в основном, оболочка с синтаксисом Си).
    .tcshrc – это файл init для tcsh tcsh. (в основном, улучшенный csh)

    Источник

    Оцените статью