Как изменить переменную path в mac 10.8.2?

Нужно ли в Windows добавлять PHP в переменную окружения

При установке и настройке PHP в Windows необязательно добавлять в PATH путь до PHP, но это рекомендуется делать.

Во-первых, вы сможете запускать PHP используя сокращённую запись:

php my_script.php

вместо

C:\Server\bin\PHP\php.exe my_script.php

Во-вторых, ряд расширений (которые включаются в файле php.ini) работают некорректно, если вы не прописали в PATH путь до PHP; в том числе, это касается такого довольно популярного расширения как cURL. По идее — это какой-то баг этих расширений или PHP, но нам самим придётся исправлять ситуацию, поскольку эта проблема существует уже много лет.

Кавычки

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

$ MyVar=555
$ echo $MyVar
555
$ echo "$MyVar"
555
$ echo '$MyVar'
$MyVar

Командная оболочка bash будет заменять переменные на их значения в строках, помещенных в двойные кавычки, но не будет осуществлять такую замену в строках, помещенных в одинарные кавычки.

paul@laika:~$ city=Burtonville
paul@laika:~$ echo "Сейчас мы находимся в городе $city."
Сейчас мы находимся в городе Burtonville.
paul@laika:~$ echo ' Сейчас мы находимся в городе $city.'
Сейчас мы находимся в городе $city.

Пример замены локальных и системных PATH

Вот пример того, как replace версия Python в локальной и системной переменной среды PATH . В качестве дополнительной функции добавляется путь к каталогу Python, если он отсутствует в PATH .

Альтернативный код с задержкой расширения:

Обратите внимание, что PATH — это не только переменная окружения, но и внутренняя команда. Введите в окне командной строки либо , либо , чтобы получить краткую справку для этой маленькой команды.. Команда используется здесь для обновления локального экземпляра переменной среды PATH на и отображения каталогов в локальной переменной среды PATH с последней строкой примера пакетного файла.

Команда используется здесь для обновления локального экземпляра переменной среды PATH на и отображения каталогов в локальной переменной среды PATH с последней строкой примера пакетного файла.

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

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

Недостатки пакетных файлов выше являются:

  1. Local PATH содержит каталоги всегда со всеми переменными окружения, которые уже развернуты, и поэтому system PATH больше не имеет, например, в списке каталогов.

  2. Добавлены дополнительные справочники для местных PATH в процессе текущей команды или любой родительский процесс будет также добавлен в систему PATH .

Лучшее решение для обновления системы PATH объясняется в ответе на

Таким образом, лучший пакетный код для replace по в локальном и системном PATH -это:

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

Командная строка

набор

Чтобы создать /установить переменную, используйте :

Чтобы добавить /добавить переменную, используйте :

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

Setx

Чтобы создать /установить переменную постоянно , используйте :

В отличие от , знак равенства не указан, и значение должно быть заключено в кавычки, если оно содержит пробелы

Обратите внимание, что переменные могут расширяться до строки с пробелами (например, становится )), поэтому лучше всего включать кавычки вокруг значений, содержащих любые переменные

Вы должны вручную добавить в версии Windows раньше, чем Vista. Windows XP Service Pack 2 Инструменты поддержки

Что такое переменные среды windows

Давайте разберемся в понятии, и так переменная окружения (environment variable)это специального рода ссылки уменьшенного размера, на определенные объекты операционной системы Windows, используемые разными программами для хранения информации и взаимодействия с ней. Можно провести аналогию с относительными ссылками на сайтах, где нет явного указания на протокол. Чаще всего это пути до конкретных директорий в ОС.

Где используют переменные среды Windows

Приведу несколько примеров:

В скриптах > когда нужно например каждому пользователю сделать какую-то настройку, для примера положить на рабочий стол новую папку с документами. Так как для каждого пользователя путь до рабочего стола свой, вида C:\Users\lacky\Desktop, а можно обратиться и по относительному пути за счет переменной %HOMEPATH%, если вы в проводнике введете %HOMEPATH%\Desktop, то попадете на рабочий стол текущего пользователя.

  • в групповой политике, для настройки пользовательских окружений, например перемещаемые профили.
  • Оптимизация кода > если в коде очень часто используются одни и те же пути к файлам или папкам, а так же ключам реестра, вы можете легко назначить короткую переменную для дальнейшего использования. Ниже я вам приведу сводный список по переменным средам windows 10 и предыдущих версий, а так же покажу как их создавать и менять.

Все переменные среды windows 10 и других версий в своем составе имеют специальный оператор %. Он необходим, чтобы операционная система могла обработать поисковый запрос. Простой пример вы ищите папку TEMP и не знаете, где она располагается, вводите %TEMP% и поиск будет на всех локальных дисках и разделах.

Локальное определение переменных¶

Пользовательские переменные

Далеко не всегда нужно определять переменные глобально. Например, вам может понадобиться добавить и текущий рабочий каталог (где вы находитесь) к переменной PATH, но при этом не нужно, чтобы это добавление появилось и в переменной PATH у всех остальных пользователей. Если вы хотите определить переменную среды локально, используйте или . Пример расширения PATH в ~/.bashrc для локальных нужд:

Обновление вашей переменной PATH произойдет, когда вы выйдете и снова войдете в систему.

Сеансовые переменные

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

В этом случае можно просто определить переменную PATH для текущего сеанса командой export. Переменной будет присвоено временное значение до тех пор, пока вы не завершите сеанс. Пример определения сеансовой переменной среды:

5 ответов

Запустите gdb без указания исполняемого или основного файла, затем введите следующие команды:

Вам нужно будет точно отразить путь к вашей библиотеке из целевой системы

Вышеуказанное предназначено для отладки целей, которые не соответствуют вашему хосту, поэтому важно реплицировать структуру корневой файловой системы, содержащую ваши библиотеки

Если вы выполняете удаленную отладку сервера, который имеет ту же архитектуру и версию Linux /glibc, что и ваш хост, то вы можете сделать это как fd предложил:

Если вы пытаетесь переопределить некоторые из библиотек, но не все, тогда вы можете скопировать структуру каталогов целевой библиотеки во временное место и использовать решение описано выше.

Я не уверен, что это вообще возможно в GDB, но тогда я не эксперт.

Однако я могу прокомментировать динамический компоновщик Linux . Следующее должно напечатать путь всех разрешенных общих библиотек и неразрешенных.

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

  • Если команда ничего не печатает, динамический компоновщик будет использовать стандартные местоположения плюс переменную среды LD_LIBRARY_PATH для поиска общих библиотек.

  • Если команда печатает несколько строк, динамический компоновщик игнорирует LD_LIBRARY_PATH и вместо этого использует жестко закодированные rpath.

    Если перечисленные rpath являются абсолютными, единственное решение, которое я знаю, — это скопировать (или символическую ссылку) ваши библиотеки в указанные местоположения.

    Если перечисленные rpath являются относительными, они будут содержать $ ORIGIN, который будет заменен во время выполнения на путь исполняемого файла. Переместите исполняемый файл или библиотеки в соответствие.

Для получения дополнительной информации вы можете начать с:

Я нашел этот отрывок на developer.apple.com

EDIT:

Я не думаю, что использование вышеупомянутой настройки добавляет к каталогам, которые я добавил, но, кажется, они добавляют их, поэтому файлы, отсутствующие в моей текущей системе, обнаруживаются в путях, которые я добавил. Я предполагаю, что установка solib-absolute-prefix на что-то фальшивое и добавление каталогов в solib-search-path в порядке, который мне нужен, может быть полным решением.

Вы также можете просто установить LD_PRELOAD для каждой из библиотек или LD_LIBRARY_PATH для текущего каталога при вызове gdb. Это вызовет проблемы только в том случае, если сам GDB попытается использовать любую из загружаемых вами библиотек.

Одно важное замечание:

если вы делаете кросс-компиляцию и пытаетесь отладить с помощью gdb, то
после того как вы сделали , если видите что-л. как:

затем проверьте, есть ли у вас libthread_db для вашей целевой системы. Я нашел много подобных проблем в Интернете. Такая проблема не может быть решена просто с помощью «set solib-«, вы должны также собрать libthread_db, используя ваш кросс-компилятор.

Переменные среды Windows

Получить информацию о существующих переменных можно в свойствах системы. Для этого кликаем по ярлыку Компьютера на рабочем столе правой кнопкой мыши и выбираем соответствующий пункт.

Переходим в «Дополнительные параметры».

В открывшемся окне с вкладкой «Дополнительно» нажимаем кнопку, указанную на скриншоте ниже.

Здесь мы видим два блока. Первый содержит пользовательские переменные, а второй системные.

Если требуется просмотреть весь перечень, запускаем «Командную строку» от имени администратора и выполняем команду (вводим и нажимаем ENTER).

Подробнее: Как открыть «Командную строку» в Windows 10

На рабочем столе появится файл с названием «set.txt», в котором будут указаны все переменные окружения, имеющиеся в системе.

Все их можно использовать в консоли или скриптах для запуска программ или поиска объектов, заключив имя в знаки процента. Например, в команде выше вместо пути

мы использовали

Переменные PATH и PATHEXT

Если с обычными переменными все понятно (одна ссылка – одно значение), то эти две стоят особняком. При детальном рассмотрении видно, что они ссылаются сразу на несколько объектов. Давайте разберемся, как это работает.

«PATH» позволяет запускать исполняемые файлы и скрипты, «лежащие» в определенных каталогах, без указания их точного местоположения. Например, если ввести в «Командную строку»

система осуществит поиск по папкам, указанным в значении переменной, найдет и запустит соответствующую программу. Этим можно воспользоваться в своих целях двумя способами:

  • Поместить необходимый файл в одну из указанных директорий. Полный список можно получить, выделив переменную и нажав «Изменить».

  • Создать свою папку в любом месте и прописать путь к ней. Для этого (после создания директории на диске) жмем «Создать», вводим адрес и ОК.

    Затем нажимаем ОК в окнах «Переменные среды» и «Свойства системы».

Для применения настроек, возможно, придется перезапустить «Проводник». Сделать это быстро можно так:

Открываем «Командную строку» и пишем команду

Все папки и «Панель задач» исчезнут. Далее снова запускаем «Проводник».

Еще один момент: если вы работали с «Командной строкой», ее также следует перезапустить, то есть консоль не будет «знать», что настройки изменились. Это же касается и фреймворков, в которых вы отлаживаете свой код. Также можно перезагрузить компьютер или выйти и снова зайти в систему.

Теперь все файлы, помещенные в «C:\Script» можно будет открывать (запускать), введя только их название.

«PATHEXT», в свою очередь, дает возможность не указывать даже расширение файла, если оно прописано в ее значениях.

Принцип работы следующий: система перебирает расширения по очереди, пока не будет найден соответствующий объект, причем делает это в директориях, указанных в «PATH».

Создание переменных среды

Создаются переменные просто:

Нажимаем кнопку «Создать». Сделать это можно как в пользовательском разделе, так и в системном.

Вводим имя, например, «desktop»

Обратите внимание на то, чтобы такое название еще не было использовано (просмотрите списки).

В поле «Значение» указываем путь до папки «Рабочий стол».

Нажимаем ОК. Повторяем это действие во всех открытых окнах (см

выше).

Перезапускаем «Проводник» и консоль или целиком систему.
Готово, новая переменная создана, увидеть ее можно в соответствующем списке.

Для примера переделаем команду, которую мы использовали для получения списка (самая первая в статье). Теперь нам вместо

потребуется ввести только

Заключение

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

Опишите, что у вас не получилось.
Наши специалисты постараются ответить максимально быстро.

Переменная окружения $PATH

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

$ echo $PATH
/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:

Командная оболочка не будет осуществлять поиск бинарных файлов, которые могут быть исполнены, в текущей директории. (Функция поиска исполняемых файлов в текущей директории являлась простейшим механизмом несанкционированного доступа к данным, хранящимся на компьютерах под управлением PC-DOS). В том случае, если вы хотите, чтобы командная оболочка осуществляла поиск исполняемых файлов в текущей директории, вам следует добавить символ . в конец строки, являющейся значением переменной $PATH вашей командной оболочки.

$ PATH=$PATH:.
$ echo $PATH
/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:.
$

Значение переменной $PATH вашей командной оболочки может отличаться в случае использования команды su вместо команды , так как последняя команда позволяет дополнительно использовать значения переменных окружения целевого пользователя. К примеру, в представленный значением переменной $PATH список директорий пользователя root обычно добавляются директории .

$ su
Password: 
# echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin
# exit
$ su -
Password: 
# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:
#

7 ответов

45

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

Если вы этого не сделаете, вы можете посмотреть переменные среды для текущих программ с помощью Process Explorer (PROCEXP) .

18

Я воспользовался советом в ответе на связанный с ним вопрос здесь и восстановил мои предыдущие настройки пути с сегодняшнего утра, используя смерзаться. Развернувшись немного на этом ответе, вот как я это сделал. (Прочитайте связанный ответ, чтобы получить полные инструкции, здесь я не предоставляю все детали.)

Я выбрал самую раннюю резервную копию с сегодняшнего дня (11:43 утра в разделе «Сегодня»)

и рассмотрел самый ранний элемент управления в узле HKEY_LOCAL_MACHINE / System этой копии файла реестра, ControlSet002:

и скопировал предыдущее значение переменной пути из ключа Control \ Диспетчер сеансов \ Окружающая среда \ Путь на этом уровне.

6

Вы можете восстановить восстановление системы.

2

  • В меню «Пуск» откройте Выполнить (или нажмите ⊞ Win + R ).
  • Введите

    • Найти
    • Перейдите в
    • Перейдите в папку
    • Перейдите в папку
    • Перейдите в
    • Перейдите в папку
    • Затем, внутри , дважды щелкните

Предыдущий путь должен быть там.

Другим способом восстановления по умолчанию , как для пользователя, так и для пользователя, является использование полезного приложения, которое я разработал в .Net, с именем PATHS .

Использование:

Это бесплатный инструмент для добавления, удаления, очистки или восстановления и , его можно скачать здесь, включая исходный код:

Я только обнаружил проблему с переменными среды дней после того, как они были разрушены установкой устаревшего приложения. Но у меня все еще была полная резервная копия реестра. Там можно найти все переменные системной среды, начиная с даты резервного копирования. Затем их можно сравнить с текущей ситуацией в соответствии с параметрами System /Advanced system /Environment. В зависимости от того, насколько обновлена ​​резервная копия, и с тех пор, пока переменная окружения не изменится с тех пор, вы в порядке. Хуже всего то, что вам придется переустанавливать приложения, которые вы установили после резервного копирования реестра, и до потери данных пути, что обычно меньше, чем восстановление. Ниже я объясню, как это можно сделать.

  1. Откройте файл backup.reg с помощью Notepad ++ (бесплатный и отличный редактор). Найдите HKEY_LOCAL_MACHINE /SYSTEM /ControlSet001 /Control /Session Manager /Environment. Если это не работает, попробуйте ControlSet002 или выше.

  2. Скопируйте хэш-данные шестнадцатеричного (2) хэша для PATH в новое окно «Блокнот ++». Найти /заменить все ‘,’ (запятые без кавычек) с » и все ’00’ с » и всеми двойными пробелами » с одним пробелом ». Теперь вам следует оставить «чистый гекс» без запятых или нулей в качестве разделителя.

  3. Откройте http://www.rapidtables.com /convert/number/hex-to-ascii.htm . Это конвертер hex-ascii. Скопируйте данные «чистого шестнадцатеричного» в шестнадцатеричное окно и нажмите «конвертировать». Теперь вы можете просмотреть данные своего пути и скопировать их в Блокнот, сравнить с текущей версией и добавить отсутствующие данные. Вы снова в бизнесе!

  4. В качестве бонуса вы также можете проверить другие переменные среды, сравнив данные в Notepad ++ backup.reg с текущими значениями. Отсутствующие данные могут быть получены так же, как описано выше.

-1

Я только что получил его, выполнив следующее:
Мои предыдущие настройки Path были все еще на экране приглашения dos cmd.
Поэтому щелкните правой кнопкой мыши на ней с помощью мыши. Возьмите «Выбрать все». Это копирует ваш экран.
Откройте Блокнот и вставьте.
Теперь выделите определение пути в блокноте, щелкните правой кнопкой мыши и скопируйте.
Вернитесь к экрану подсказок dos cmd.
щелкните правой кнопкой мыши и вставьте
Это сработало для меня так хорошо!

Глобальное определение переменных¶

Для того, чтобы определить эти переменные централизованно, в Calculate существует каталог . В нём находится ряд файлов, например, , и так далее, в которых определяются переменные, необходимые программам, указанным в названии файлов.

Например, при установке gcc ebuild создает файл , содержащий следующие определения переменных:

PATH="/usr/i686-pc-linux-gnu/gcc-bin/3.2" 
ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/3.2" 
MANPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.2/man" 
INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.2/info" 
CC="gcc" 
CXX="g++" 
LDPATH="/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3" 

В других дистрибутивах вам предлагается изменять или добавлять определения переменных среды в или где-нибудь еще

Calculate, с другой стороны, облегчает вам поддержку и управление переменными среды, избавляя от необходимости уделять внимание многочисленным файлам, содержащим определения переменных

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

От этого выигрывает не только Portage, но и вы, пользователь. Иногда от вас может потребоваться глобальная установка какой-нибудь переменной. Возьмем, к примеру, переменную http_proxy. Вместо того, чтобы возиться с , теперь можно просто создать файл () и добавить нужные определения туда:

Используя один и тот же файл для всех своих переменных, вы можете быстро увидеть все определенные вами переменные вместе.

Сценарий env-update

Переменная PATH определяется в нескольких файлах в . Нет, нет это не ошибка: при запуске env-update различные определения объединяются перед обновлением переменных среды, позволяя пакетам (или пользователям) добавлять собственные значения переменных, не влияя на уже существующие.

Сценарий env-update объединяет значения переменных из файлов, находящихся в , в алфавитном порядке. Имена файлов должны начинаться с двух десятичных цифр. Порядок обновления, используемый env-update:

          00basic        99kde-env       99local
      +-------------+----------------+-------------+
PATH="/bin:/usr/bin:/usr/kde/3.2/bin:/usr/local/bin" 

Объединение выполняется не всегда, а только для следующих переменных: KDEDIRS, PATH, CLASSPATH, LDPATH, MANPATH, INFODIR, INFOPATH, ROOTPATH, CONFIG_PROTECT, CONFIG_PROTECT_MASK, PRELINK_PATH и PRELINK_PATH_MASK. Для всех остальных переменных используется значение, определенное в последнем из файлов (по алфавиту в каталоге ).

При запуске сценария env-update создаются все переменные среды, и помещаются в (используемый файлом ). Кроме того, на основе значения LDPATH создается . После этого запускается ldconfig, чтобы вновь создать файла , используемый динамическим компоновщиком.

Если вы хотите, чтобы результаты работы env-update вступили в силу немедленно, для обновления среды выполните следующую команду:

Примечание: Эта команда обновляет переменные только в текущем терминале, в новых консолях и их потомках. То есть, если вы работаете в X11, потребуется или набирать source /etc/profile в каждом открываемом терминале, или перезапустить X, чтобы все новые терминалы обращались к новым переменным. Если вы используете диспетчер входа в систему, станьте пользователем с правами root и наберите /etc/init.d/xdm restart. Если нет, вам придется выйти и снова войти в систему, чтобы X порождала потомков, использующих новые значения переменных.

Создаем переменные среды windows 10

ПО мимо уже имеющихся переменных Windows 10, вы можете создать и новые, это очень легко и не запрещается. Что от вас требуется, вам необходимо зайти в свойства системы. Тут несколько методов, если мы говорим про Windows 10, то можно сделать через правый клик по кнопке «Пуск», выбрав пункт система.

Универсальный метод, это зайти в свойства моего компьютера или нажать сочетание клавиш WIN+Pause Breake.

С окне свойства системы, вы должны перейти в пункт «Дополнительные параметры системы»

Далее пункт переменные среды.

И перед вами два вида переменных сред Windows:

  • Временные переменные temp
  • Системные переменные

И те и другие можно легко изменить или создать.

Для примера я создам новую системную переменную, назову ее SYSPREP и укажу путь до папки C:\Windows\System32\Sysprep

Проверяю, что все добавилось. И теперь вбив переменную %SYSPREP% у меня откроется C:\Windows\System32\Sysprep.

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

Сеанс пользователя

  • . Список уникальных заданий. Loaded by PAM в начале каждого сеанса пользователя не имеет значения, если это сеанс или оболочка системы X Window. Вы не можете ссылаться на другую переменную, включая или , поэтому она имеет ограниченное использование.
  • Shell script. Это выполняется, когда пользователь входит в систему X Window System. Переменные, определенные здесь, видны для каждого приложения X. Идеальный выбор для расширения со значениями, такими как или , или определение пользовательских или . Файл включен другим script, поэтому используйте синтаксис оболочки POSIX, а не синтаксис вашей пользовательской оболочки. Ваши графические текстовые редакторы или IDE, запущенные ярлыком, будут видеть эти значения.
  • Shell script. Он будет виден только для программ, запущенных с терминала или эмулятора терминала. Это хороший выбор для систем с оболочкой.
  • . Shell script. Это плохой выбор, потому что он является уникальным для каждой оболочки.
Ссылка на основную публикацию