Исходная команда в Windows

Обновлено: 01.07.2024

Переменные среды — это глобальные системные переменные, доступные всем процессам/пользователям, работающим под управлением операционной системы (ОС), например Windows, macOS и Linux. Переменные среды полезны для хранения общесистемных значений, например,

  • PATH: наиболее часто используемая переменная среды, в которой хранится список каталогов для поиска исполняемых программ.
  • ОС: операционная система.
  • COMPUTENAME , USERNAME : сохраняет имя компьютера и текущего пользователя.
  • SystemRoot: корневой каталог системы.
  • (Windows) HOMEDRIVE , HOMEPATH : домашний каталог текущего пользователя.

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

Переменные среды в Windows НЕ чувствительны к регистру (поскольку устаревшая DOS НЕ учитывает регистр). Обычно они называются в верхнем регистре, а слова соединяются символом подчеркивания ( _ ), например, JAVA_HOME .

Отображение переменных среды и их значений

Чтобы перечислить ВСЕ переменные среды и их значения, запустите CMD и введите команду " set " следующим образом:

Попробуйте выполнить команду " set " в своей системе и изучите перечисленные переменные среды. Обратите особое внимание на переменную PATH .

Чтобы отобразить определенную переменную, используйте команду " set имя_переменной " или " echo %имя_переменной% ":

Установить/снять/изменить переменную среды для «текущего» сеанса CMD

Чтобы установить (или изменить) переменную среды, используйте команду "set varname=value". Перед и после знака «=» не должно быть пробелов. Чтобы сбросить переменную среды, используйте " set varname=", т. е. установите для нее пустую строку.

Переменная среды, установленная с помощью команды " set " в CMD, является локальной и доступна только для текущего сеанса CMD. Попробуйте установить переменную, перезапустите CMD и найдите переменную.

Использование переменной среды

Чтобы сослаться на переменную в Windows, используйте %имя_переменной% (с префиксом и суффиксом '%' ). Например, вы можете использовать команду echo для вывода значения переменной в форме "echo %имя_переменной%".

Как добавить или изменить переменную среды «навсегда»

Чтобы постоянно добавлять/изменять переменную среды в Windows (чтобы она была доступна ВСЕМ процессам/пользователям Windows и оставалась при загрузке):

  1. Запустите "Панель управления"
  2. "Система"
  3. "Дополнительные параметры системы"
  4. Перейти на вкладку "Дополнительно".
  5. "Переменные среды"
  6. Выберите «Системные переменные» (для всех пользователей)
  7. Чтобы добавить новую переменную среды:
    1. Выберите «Новый».
    2. Введите переменную «Имя» и «Значение». Вместо того, чтобы вводить «значение» и допускать опечатку, я предлагаю вам использовать кнопку «Обзор каталога» или «Обзор файла» для получения нужного каталога или файла.
      1. Выберите "Изменить"
      2. Введите новое "Значение". Вместо того, чтобы вводить «значение» и допускать опечатку, я предлагаю вам использовать кнопку «Обзор каталога» или «Обзор файла» для получения нужного каталога или файла.

      Вам нужно ПЕРЕЗАПУСТИТЬ CMD, чтобы новые настройки вступили в силу!

      Чтобы проверить новую настройку, запустите CMD:

      Переменная среды PATH в Windows

      При запуске исполняемой программы (с расширением файла ".exe", ".bat" или ".com") из оболочки CMD Windows ищет исполняемую программу в текущем рабочем каталоге, за которым следуют все каталоги, перечисленные в переменной окружения PATH. Если программа не может быть найдена в этих каталогах, вы получите следующую ошибку:

      Чтобы вывести текущий PATH , введите команду:

      Как добавить каталог в PATH в Windows

      Чтобы добавить каталог к ​​существующему PATH в Windows:

      1. Запустите "Панель управления"
      2. "Система"
      3. "Дополнительные параметры системы"
      4. Перейти на вкладку "Дополнительно".
      5. "Переменные среды"
      6. В разделе "Системные переменные" (для всех пользователей) выберите "Путь"
      7. "Изменить"
      8. (Для более новых версий Windows 10) Появится таблица, показывающая каталоги, включенные в текущую настройку PATH ⇒ "Создать" ⇒ "Обзор". сделайте опечатку!) ⇒ Несколько раз нажмите «Переместить вверх», чтобы переместить его наверх ⇒ «ОК» (не «Отмена») ⇒ «ОК» ⇒ «ОК».
      9. (Для более старых версий Windows) Если вы не видите всплывающую таблицу, пришло время сменить компьютер.

      Вам нужно ПЕРЕЗАПУСТИТЬ CMD, чтобы новая настройка PATH вступила в силу!

      Чтобы проверить новую настройку, запустите CMD:

      • Windows выполняет поиск в текущем каталоге ( . ) перед поиском записей PATH. (Unixes/macOS не выполняет поиск в текущем каталоге, если вы явно не укажете его в PATH.)
      • Windows использует точку с запятой ( ; ) в качестве разделителя пути; в то время как Unix/macOS использует двоеточие ( : ).
      • Если имя вашего каталога содержит специальные символы, такие как пробел (настоятельно не рекомендуется), заключите его в двойные кавычки.

      (macOS/Linux) переменные среды

      Переменные среды в macOS/Unix чувствительны к регистру. Глобальные переменные среды (доступные для ВСЕХ процессов) названы в верхнем регистре, а слова соединены символом подчеркивания (_), например, JAVA_HOME. Локальные переменные (доступные только для текущего процесса) написаны строчными буквами.

      Использование переменных среды в Bash Shell

      В большинстве систем Unix (Ubuntu/macOS) используется так называемая оболочка Bash. В оболочке bash:

      • Чтобы получить список всех переменных среды, используйте команду "env" (или "printenv"). Вы также можете использовать " set " для вывода списка всех переменных, включая все локальные переменные.
      • Чтобы сослаться на переменную, используйте $имя_переменной с префиксом '$' (Windows использует %имя_переменной%).
      • Чтобы напечатать значение определенной переменной, используйте команду " echo $имя_переменной ".
      • Чтобы установить переменную среды, используйте команду "export varname=value", которая устанавливает переменную и экспортирует ее в глобальную среду (доступную для других процессов). Заключил значение в двойные кавычки, если оно содержит пробелы.
      • Чтобы установить локальную переменную, используйте команду " varname =value " (или " set varname =value"). Локальная переменная доступна только в рамках этого процесса.
      • Чтобы сбросить локальную переменную, используйте команду " имя_переменной = ", т. е. установите пустую строку (или " unset имя_переменной ").

      Как установить постоянную переменную среды в Bash Shell

      Вы можете установить переменную среды на постоянной основе, поместив команду экспорта в сценарий запуска оболочки Bash " ~/.bashrc " (или "~/.bash_profile ", или " ~/.profile ") вашего домашнего каталога; или "/etc/profile" для общесистемных операций. Обратите внимание, что файлы, начинающиеся с точки ( . ), по умолчанию скрыты. Чтобы отобразить скрытые файлы, используйте команду "ls -a" или "ls -al".

      Например, чтобы добавить каталог в переменную среды PATH, добавьте следующую строку в конец "~/.bashrc" (или "~/.bash_profile", или " ~/.profile"), где ~ обозначает домашний каталог текущего пользователя или "/etc/profile" для ВСЕХ пользователей.

      (Для Java) Вы можете установить переменные среды CLASSPATH, добавив следующую строку. Например,

      Обратите внимание, что оболочка Bash использует двоеточие ( : ) в качестве разделителя пути; в то время как окна используют точку с запятой ( ; ).

      Чтобы обновить оболочку bash, введите команду " source " (или перезапустите оболочку bash):

      (Примечания) Для старых версий csh (C-shell) и ksh (Korn-shell)

      • Используйте " printenv " (или " env "), чтобы вывести список всех переменных среды.
      • Используйте " setenv имя_переменной_значение " и " unsetenv имя_переменной ", чтобы устанавливать и сбрасывать переменную среды.
      • Используйте " set имя_переменной=значение " и " unset имя_переменной ", чтобы установить и отменить установку локальной переменной для текущего процесса.

      Переменная среды PATH

      Большинство Unix и macOS используют так называемую оболочку Bash в «терминале». Когда вы запускаете исполняемую программу (с разрешением файла executable) в оболочке Bash, система ищет программу во ВСЕХ каталогах, перечисленных в PATH . Если программа не может быть найдена, вы получите следующую ошибку:

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

      Чтобы вывести текущий PATH , введите команду:

      Как добавить каталог в PATH в macOS/Linux

      Чтобы добавить каталог к ​​существующему PATH в macOS/Unix, добавьте следующую строку в конец одного из сценариев запуска, например "~/.bashrc ", " ~/.login " "~/.bash_profile ", " ~/.profile " (где ~ обозначает домашний каталог текущего пользователя) или " /etc/profile " для ВСЕХ пользователей.

      Чтобы обновить оболочку bash, введите команду " source " (или перезапустите оболочку bash):

      Чтобы проверить новую настройку, запустите CMD:

      • Системы Unix/macOS не выполняют поиск в текущем каталоге ( . ), если вы явно не укажете его в PATH . Другими словами, чтобы запустить программу в текущем каталоге, вам нужно указать каталог ( ./ ), например, вы можете включить текущий каталог в PATH, добавив эту строку в сценарий запуска: (Windows ищет текущий каталог ( . ) автоматически перед поиском PATH.)
      • В Unix/macOS в качестве разделителя пути используется двоеточие ( : ); в то время как Windows использует точку с запятой ( ; ).

      Приложения Java и переменные среды PATH , CLASSPATH , JAVA_HOME

      Многие проблемы при установке и запуске Java-приложений вызваны неправильной настройкой переменных среды (глобальных системных переменных, доступных для всех процессов/пользователей, работающих в операционной системе). System), в частности, PATH , CLASSPATH и JAVA_HOME .

      Когда вы запускаете программу из командной строки, операционная система использует переменную среды PATH для поиска программы в вашей локальной файловой системе. Другими словами, PATH поддерживает список каталогов для поиска исполняемых программ.

      ПУТЬ (для Windows)

      При запуске исполняемой программы (с расширением файла ".exe", ".bat" или ".com") из оболочки CMD Windows ищет исполняемую программу в текущем рабочем каталоге, за которым следуют все каталоги, перечисленные в переменной окружения PATH. Если программа не может быть найдена в этих каталогах, вы получите следующую ошибку:

      Например, если вы пытаетесь использовать компилятор Java " javac.exe " для компиляции исходного файла Java, но " javac.exe " не может быть найден в текущем каталоге и во всех каталогах в PATH , вы получите следующая ошибка:

      PATH поддерживает список каталогов. Каталоги разделяются точкой с запятой ( ; ) в Windows.

      Для приложений Java PATH должен включать следующие каталоги:

      • Каталог JDK " bin " (двоичный) (например, " c:\Program Files\java\jdk1.xx\bin "), который содержит программы JDK, такие как компилятор Java " javac.exe " и среда выполнения Java " java. exe ".
      • " c:\windows\system32 " и " c:\windows ", содержащие консольные программы и команды.

      Каталог JDK "bin" должен быть указан перед "c:\windows\system32" и "c:\windows" в PATH. Это связано с тем, что некоторые старые системы Windows предоставляют собственную среду выполнения Java (которая часто устарела) в этих каталогах (попробуйте выполнить поиск « java.exe » на своем компьютере, вы можете найти несколько записей).

      Чтобы добавить каталог (скажем, "bin" JDK) в существующий PATH, проверьте "Как добавить каталог в PATH".

      ПУТЬ (для macOS/Linux)

      Большинство Unix и macOS используют так называемую оболочку Bash в «терминале». Когда вы запускаете исполняемую программу (с разрешением файла executable) в оболочке Bash, система ищет программу во ВСЕХ каталогах, перечисленных в PATH . Если программа не может быть найдена, вы получите следующую ошибку:

      Например, если вы пытаетесь использовать компилятор Java " javac " для компиляции исходного файла Java, но " javac " не может быть найден в списке каталогов в PATH , вы получите следующую ошибку:

      Для поддержки приложений Java необходимо включить каталог JDK " bin " (двоичный) в PATH. См. «Как добавить каталог в PATH».

      ПУТЬ К КЛАССУ

      Файл архива Java (JAR)

      Для простоты распространения классы Java часто архивируются (архивируются) вместе в так называемый файл JAR. Чтобы использовать сторонний пакет Java, необходимо поместить распространяемый файл JAR в место, доступное для компилятора Java и среды выполнения Java.

      Как найти классы?

      Компилятор Java ("javac"), Java Runtime ("java") и другие инструменты Java выполняют поиск классов, используемых в вашей программе, в следующем порядке:

      1. Класс платформы Java (начальная загрузка): включает системные классы в пакеты ядра ( java.* ) и пакеты расширения ( javax.* ) в " rt.jar " (класс среды выполнения), " i18n.jar " (класс интернационализации), charsets.jar , jre/classes и другие.
      2. Каталоги расширений Java: вы можете скопировать внешние файлы JAR в каталог расширений Java (это удалено и неприменимо в JDK 10).
        • Для Windows каталог расширений Java находится в папке "\jre\lib\ext" (например, "c:\Program Files\Java\jdk1.7.0_\jre\lib\ext").
        • Для macOS каталогами расширений JDK являются «/Library/Java/Extensions» и «/System/Library/Java/Extensions».
        • Для Ubuntu каталоги расширений JDK — это «/jre/lib/ext» (например, «/usr/user/java/jdk1.7.0_/jre/lib/ext») и «/usr/java/packages». /lib/ext ".
        Расположение каталогов расширений Java хранится в системном свойстве Java " java.ext.dirs ". Вы можете распечатать его содержимое через System.out.println(System.getProperty("java.ext.dirs")) .
      3. Путь поиска классов пользователей (сокращенно путь к классам): определяется в следующем порядке:
        1. По умолчанию используется текущий рабочий каталог ( . ).
        2. Записи в переменной среды CLASSPATH, которая переопределяет значение по умолчанию.
        3. Записи в параметре командной строки -cp (или -classpath ), который переопределяет переменную среды CLASSPATH.
        4. Параметр командной строки времени выполнения -jar , который переопределяет все вышеперечисленное.
        Не удается найти классы

        Если среда выполнения Java ("java") не может найти классы, используемые в вашей программе, во всех указанных выше местах, она выдаст ошибку "Не удалось найти или загрузить основной класс xxxx" (JDK 1.7) или "java.lang. NoClassDefFoundError" (до JDK 1.7).

        Аналогичным образом компилятор Java ("javac") будет выдавать такие ошибки компиляции, как "не удается найти символ", "пакет не существует".

        Примечания. Внешние собственные библиотеки (".lib", ".dll", ".a", ".so") находятся в пути в свойстве JRE "java.library.path", который обычно, но не обязательно включает все каталоги в переменной окружения PATH. В противном случае вы получите ошибку времени выполнения " java.lang.UnsatisfiedLinkError: no xxx in java.library.path ".

        Переменная среды CLASSPATH

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

        Частая проблема при запуске программы hello-world: CLASSPATH задан, но не включает текущий рабочий каталог. Поэтому поиск в текущем каталоге не выполняется, что приводит к ошибке «Ошибка: не удалось найти или загрузить основной класс Hello». Вы можете просто удалить CLASSPATH и оставить путь к классу по умолчанию для текущего каталога.

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

        Переменная среды PATH (для поиска исполняемых программ) применима ко всем приложениям; в то время как CLASSPATH используется только Java.

        Прочитайте документы JDK "Установка CLASSPATH" и "Как находят классы" (гиперссылки можно найти на главной странице документации JDK или в Google).

        Переменная среды CLASSPATH (для Windows)

        CLASSPATH принимает каталоги и jar-файлы. Записи пути разделяются точкой с запятой ( ; ).

        Пример: отображение и изменение CLASSPATH для текущего сеанса CMD.

        Вы можете установить CLASSPATH на постоянной основе. См. «Как установить переменную среды».

        ПУТЬ К КЛАССУ (для macOS/Ubuntu)
        1. Чтобы установить CLASSPATH для текущего сеанса, введите следующую команду: используйте двоеточие ' : ' в качестве разделителя пути (вместо точки с запятой ' ; ' в Windows).
        2. Чтобы установить CLASSPATH на постоянной основе, поместите указанную выше команду экспорта в сценарий инициализации оболочки bash ( .bashrc или .bash_profile домашнего каталога или /etc/profile для всех пользователей). См. "Как установить переменную среды".

        JAVA_HOME и JRE_HOME

        Многие Java-приложения (такие как Tomcat) требуют, чтобы переменная среды JAVA_HOME была установлена ​​в установленный каталог JDK.

        Как установить JAVA_HOME в Windows

        Сначала проверьте, не установлен ли JAVA_HOME, запустив CMD и выполнив:

        Если JAVA_HOME не задан, вы получите сообщение "Переменная среды JAVA_HOME не определена". В противном случае будет показана текущая настройка.

        Чтобы установить/изменить JAVA_HOME в Windows:

        1. Запустите "Панель управления"
        2. "Система"
        3. "Дополнительные параметры системы"
        4. Перейти на вкладку "Дополнительно".
        5. "Переменные среды"
        6. Выберите «Системные переменные» (для всех пользователей)
        7. Чтобы добавить новую переменную среды " JAVA_HOME ":
          1. Выберите «Новый».
          2. В поле "Имя переменной" введите "JAVA_HOME".
          3. В разделе "Значение переменной" нажмите "Обзор каталога" и перейдите в каталог с установленным JDK (например, "C:\Program Files\Java\jdk-15.0.xx").
          4. ОК ⇒ ОК ⇒ ОК.
            1. Выберите "JAVA_HOME" ⇒ "Изменить"
            2. В разделе "Значение переменной" нажмите "Обзор каталога" и перейдите в каталог с установленным JDK (например, "C:\Program Files\Java\jdk-15.0.xx").
            3. ОК ⇒ ОК ⇒ ОК.

            Вам нужно ПЕРЕЗАПУСТИТЬ CMD, чтобы новые настройки вступили в силу!

            Чтобы проверить новую настройку, перезапустите CMD:

            Как установить JAVA_HOME в Linux/macOS (Bash Shell)

            Сначала проверьте, не установлен ли JAVA_HOME, запустив терминал и выполнив:

            JAVA_HOME должен быть установлен в установленный каталог JDK. Вам нужно найти каталог с установленным JDK.

            [TODO] найти каталог установки macOS и Ubuntu JDK.

            Добавьте следующую строку в конец "~/.bashrc" (или " ~/.login"). Обратите внимание, что имя файла, начинающееся с точки ( . ), по умолчанию скрыто.

            [TODO] Как отобразить скрытие для macOS/Ubuntu.

            Чтобы новые настройки вступили в силу, необходимо обновить оболочку bash. Выполните команду " source " следующим образом:

            Windows и Unix/macOS

            Java не зависит от платформы. Классы Java работают как в Windows, так и в Unix-совместимых двоичных файлах.

            Я знаю, что в мире Unix, если вы редактируете свой файл .profile или .cshrc, вы можете сделать source ~/.profile или source ~/.cshrc, чтобы получить эффект от текущего сеанса. Если я изменил что-то в системной переменной в Windows, как я могу повлиять на текущий сеанс командной строки, не выходя из сеанса командной строки и не открывая другой сеанс командной строки?

            8 ответов 8

            В обычной командной строке Windows (т. е. cmd.exe) просто вызов mybat.bat сделал то, что я хотел. Я получил все установленные переменные среды.

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

            Однако вызов не будет работать для сценариев PowerShell. Предположим, вы хотите импортировать функцию и вызвать ее, исходный код будет работать в bash

            Это очень старый вопрос, но я думаю, что это должен быть правильный ответ. "call myfile.bat" --> считывает переменные окружения из командного файла и устанавливает их в текущей среде, из которой вызывается команда "call". то все эти переменные доступны для использования в текущей оболочке.

            О, и это было идеальное 42. Я почти жалею, что не проголосовал и просто оставил его там. Спасибо большое! :)

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

            Следующий пример поможет вам решить вашу проблему.

            env.bat Этот файл предназначен для установки переменных. Его содержимое подвергается удару.

            test.bat Наш основной пакетный файл.

            Теперь пакетный файл print.bat для печати переменных. Его содержание приведено ниже


            Боюсь, что нет, но вы можете начать использовать Powershell, который поддерживает точечный поиск. Поскольку окно powershell действительно основано на cmd, все ваши команды dos будут продолжать работать, и вы получите новые возможности, гораздо большие возможности.

            Спасибо, Джон Шен. Я искал в Интернете и не нашел аналога. Я видел Powershell, возможно, я начну использовать его вместо старой командной строки.

            Единственный способ, которым я обнаружил, что это работает, — это запустить новое окно cmd из моего собственного окна конфигурации. например:

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

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

            В файле setup-java.bat нельзя использовать расширение %. Вам нужно использовать! ; например:

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

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

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

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

            Во-первых, что такое исходная команда? Важно отметить, что source не является настоящим программным пакетом Linux, это не надлежащая программа, как, например, du, egrep, find и т. д. Source — это встроенная команда, она является частью программного пакета bash. .

            Чтобы понять, что он делает, во-первых, нам нужно знать, что такое переменные оболочки и переменные среды в Linux. Каждый раз, когда мы открываем новый сеанс SSH в системе Linux, оболочка автоматически загружает некоторые переменные по умолчанию. Эти переменные подходят для большинства задач, но для других нам может потребоваться внести некоторые изменения, и именно здесь исходная команда выходит на сцену.

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

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

            Это может быть очень полезно в некоторых ситуациях, мы можем сделать даже больше с исходным кодом, хотя это не является целью этой статьи.Итак, если мы делаем что-то не так при использовании исходного кода, мы можем получить ошибки, и одной из них, конечно же, будет Source command not found, поэтому давайте посмотрим, что вызывает эту ошибку.

            Причины исходной команды не найдены

            Обычно мы получаем эту ошибку как «источник: команда не найдена» или, если мы используем sudo, как «sudo: источник: команда не найдена», в обоих случаях проблема заключается в том, что сеанс оболочки ожидает, что мы запустите программу, но помните, что исходный код — это не программа, мы на самом деле запускаем встроенный bash, как объяснялось ранее.

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

            Эта ошибка также возникает, если мы пытаемся запустить программу, которая не установлена ​​в нашей системе, например, если мы пытаемся запустить что-то, чего не существует, например «что-то что-то», мы получаем ту же ошибку:

            Итак, как мы можем решить эту проблему? Это то, что мы собираемся объяснить сейчас.

            Как исправить ошибку Source command not found в Linux?

            Лучший и самый простой способ решить эту проблему — запустить команду с использованием root, поэтому нам потребуется запустить сеанс root с помощью su или sudo -s. . Если вы получаете ошибку аутентификации или ошибку разрешений, это означает, что вы не можете войти в систему как пользователь root с вашим текущим пользователем, попросите ответственное лицо изменить привилегии, чтобы вы могли временно войти в систему как пользователь root, чтобы решить проблему.

            Еще один способ исправить это — принудительно использовать bash. В некоторых дистрибутивах Linux встроенный исходный код недоступен по умолчанию, потому что команда sh вызывает не bash, а другие программы, например, «dash». Итак, в этом случае мы можем отредактировать сценарий, который мы пытаемся запустить, и изменить /bin/sh вверху на /bin/bash, например:

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

            Нам придется заменить источник точкой. Да, точка:

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

            Заключение

            Как вы видели, это было довольно просто. Настоящая проблема с ошибкой source command not found заключается в том, чтобы понять, почему это происходит, и теперь вы знаете, что это происходит из-за того, что сеанс оболочки ошибочно принимает исходный код за программу, хотя на самом деле это встроенная функция Bash.

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

            Об авторе: Эстебан Борхес

            Опытный старший системный администратор Linux и веб-технолог, увлеченный созданием инструментов, автоматизацией процессов, устранением проблем с сервером, устранением неполадок, защитой и оптимизацией веб-сайтов с высоким трафиком.

            1 комментарий

            Я использую Manajaro Linux, недавно перешел с WIndows на Linux.
            Каждый раз, когда я открываю Konsole, я получаю ниже сообщение об ошибке 3 раза.

            bash: $’\342\200\230source’: команда не найдена

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

            Если в Windows 10 отсутствуют или повреждены файлы, в этом руководстве показано, как восстановить установку с помощью командных инструментов DISM и SFC.

            Windows 10 DISM и ремонт SFC

            Источник: Windows Central

            В Windows 10 обслуживание образов развертывания и управление ими — это инструмент командной строки, который позволяет администраторам подготавливать, изменять и восстанавливать образы системы, включая среду восстановления Windows, программу установки Windows и среду предустановки Windows (WinPE). Однако вы также можете использовать его с локальным образом восстановления для устранения системных проблем.

            Обычно, когда вам нужно устранить конкретную ошибку, выяснить, почему компьютер больше не загружается должным образом, или решить проблемы с производительностью, вы можете использовать средство проверки системных файлов, чтобы заменить отсутствующие или поврежденные системные файлы с помощью образа восстановления. Предостережение при использовании этого подхода заключается в том, что если один или несколько файлов Windows 10 в локальном образе повреждены, команда SFC не будет работать. В этом сценарии вы можете использовать образ install.wim с DISM для восстановления образа, а затем использовать инструмент SFC для исправления установки без переустановки Windows.

            В этом руководстве по Windows 10 мы расскажем, как использовать инструменты DISM и SFC, чтобы вернуть компьютер в работоспособное рабочее состояние без необходимости переустановки.

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

            Как использовать DISM для восстановления образа Windows 10

            В Windows 10 командный инструмент DISM включает три параметра для восстановления образа, в том числе «CheckHealth», «ScanHealth» и «RestoreHealth», которые вы хотите использовать по порядку. Кроме того, в зависимости от проблемы, вы можете использовать параметр «RestoreHealth», чтобы исправить локально доступный образ, используя другие исходные файлы.

            Команда DISM с параметром CheckHealth

            Параметр CheckHealth с помощью инструмента DISM позволяет определить любые повреждения внутри локального образа Windows 10. Однако эта опция не выполняет никакого ремонта.

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

            1. Откройте Пуск.
            2. Выполните поиск командной строки, щелкните правой кнопкой мыши верхний результат и выберите параметр «Запуск от имени администратора».

            Введите следующую команду для быстрой проверки и нажмите Enter:

            DISM/Online/Cleanup-Image/CheckHealth

            DISM CheckHealth

            Источник: Windows Central

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

            Команда DISM с параметром ScanHealth

            Вариант ScanHealth выполняет более расширенное сканирование, чтобы выяснить, есть ли какие-либо проблемы с изображением.

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

            1. Откройте Пуск.
            2. Выполните поиск командной строки, щелкните правой кнопкой мыши верхний результат и выберите параметр «Запуск от имени администратора».

            Введите следующую команду, чтобы выполнить расширенное сканирование DISM, и нажмите Enter:

            DISM/Online/Cleanup-Image/ScanHealth

            DISM ScanHealth

            Источник: Windows Central

            После выполнения этих шагов сканирование может занять несколько минут, чтобы проверить, нуждается ли образ Windows 10 в восстановлении.

            Команда DISM с параметром RestoreHealth

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

            Чтобы исправить проблемы с образом Windows 10 с помощью командного инструмента DISM, выполните следующие действия:

            1. Откройте Пуск.
            2. Выполните поиск командной строки, щелкните правой кнопкой мыши верхний результат и выберите параметр «Запуск от имени администратора».

            Введите следующую команду, чтобы восстановить образ Windows 10, и нажмите Enter:

            DISM/Online/Cleanup-Image/RestoreHealth

            DISM RestoreHealth в Windows 10

            Источник: Windows Central

            Примечание. Если команда зависла, это нормальное поведение. Через несколько минут процесс завершится успешно.

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

            Устранение проблем с DISM с помощью образа install.wim

            Команда обслуживания образов развертывания и управления ими обычно не вызывает проблем. Однако, если инструмент обнаружит проблемы с заменой поврежденных файлов или компьютер не подключен к Интернету, вам потребуется предоставить другое изображение, используя параметр «Источник». Как правило, вы можете использовать файл install.wim или install.esd с другого устройства, загрузочный установочный носитель или ISO-файл Windows 10. Вам нужно только убедиться, что файлы соответствуют версии, выпуску и языку версии Windows 10, которую вы пытаетесь исправить.

            Загрузить ISO-файл Windows 10

            Если вам нужно использовать другой источник файлов, рекомендуется использовать Media Creation Tool для загрузки новой копии Windows 10.

            Чтобы скачать ISO-файл Windows 10, выполните следующие действия:

              .
            1. Нажмите кнопку Загрузить инструмент сейчас.
            2. Дважды щелкните файл MediaCreationToolxxxx.exe, чтобы запустить установку.
            3. Нажмите кнопку «Принять», чтобы принять условия.

            Выберите вариант Создать установочный носитель (флэш-накопитель USB, DVD или файл ISO) для другого ПК.

            Инструмент создания мультимедиа для создания мультимедиа для другого ПК

            Источник: Windows Central

            Нажмите кнопку "Далее" еще раз.

            Выберите язык, архитектуру и выпуск

            Источник: Windows Central

            Выберите вариант файла ISO.

            Параметры ISO-файла Media Creation Tool

            Источник: Windows Central

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

            Открыть расположение Windows 10 ISO

            Источник: Windows Central

            В разделе "Этот компьютер" подтвердите букву диска для точки подключения.

            Буква драйвера ISO для Windows 10

            Источник: Windows Central

            После выполнения этих шагов вы можете продолжить работу с инструментом DISM, используя параметр "Источник" для восстановления локального образа.

            Исправить образ восстановления Windows 10

            Чтобы запустить средство обслуживания образов развертывания и управления ими с альтернативным исходным образом (install.wim), выполните следующие действия:

            1. Откройте Пуск.
            2. Выполните поиск командной строки, щелкните правой кнопкой мыши верхний результат и выберите параметр «Запуск от имени администратора».

            Введите следующую команду, чтобы восстановить образ Windows 10, и нажмите Enter:

            DISM /Online /Cleanup-Image /RestoreHealth /Source:E:\Sources\install.wim

            DISM RestoreHealth с помощью файла install.wim

            Источник: Windows Central

            В команде замените "F" на букву диска точки монтирования ISO в проводнике.

            (Необязательно) Введите следующую команду, чтобы ограничить использование Центра обновления Windows, и нажмите Enter:

            DISM /Online /Cleanup-Image /RestoreHealth /Source:E\Sources\install.wim /LimitAccess

            (Необязательно) Введите следующий вариант предыдущей команды, чтобы выполнить ту же задачу, и нажмите Enter:

            DISM /Online /Cleanup-Image /RestoreHealth /Source:wim:E:\Sources\install.wim:1 /LimitAccess

            В команде измените E:\Sources на путь к файлу install.wim.

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

            Устранение проблем с DISM с помощью ESD-образа

            Если у вас есть зашифрованный образ install.esd, его можно использовать для восстановления поврежденных файлов в Windows 10.

            Чтобы использовать DISM с файлом образа install.esd в качестве источника для восстановления Windows 10, выполните следующие действия:

            1. Откройте Пуск.
            2. Выполните поиск командной строки, щелкните правой кнопкой мыши верхний результат и выберите параметр «Запуск от имени администратора».

            Введите следующую команду, чтобы восстановить образ с помощью файла «install.esd», и нажмите Enter:

            DISM /Online /Cleanup-Image /RestoreHealth /Source:C:\ESD\Windows\sources\install.esd

            DISM Restorehealth install.esd

            Источник: Windows Central

            В команде замените C:\ESD\Windows\sources на путь к местоположению файла ".esd" (если отличается).

            (Необязательно) Введите следующую команду, чтобы ограничить использование Центра обновления Windows, и нажмите Enter:

            DISM /Online /Cleanup-Image /RestoreHealth /Source:C:\ESD\Windows\sources\install.esd /LimitAccess

            (Необязательно) Введите следующий вариант предыдущей команды, чтобы выполнить ту же задачу, и нажмите Enter:

            DISM /Online /Cleanup-Image /RestoreHealth /Source:esd:C:\ESD\Windows\sources\install.esd:1 /LimitAccess

            (Необязательно) Введите следующую команду, чтобы использовать файл install.esd, расположенный на другом диске, и нажмите Enter:

            DISM /Online /Cleanup-Image /RestoreHealth /Source:E:\Sources\install.esd

            В команде замените E:\Sources на путь к местоположению файла install.esd.

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

            Как запустить SFC для устранения проблем в Windows 10

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

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

            1. Откройте Пуск.
            2. Выполните поиск командной строки, щелкните правой кнопкой мыши верхний результат и выберите параметр «Запуск от имени администратора».

            Введите следующую команду, чтобы восстановить установку, и нажмите Enter:

            Восстановление установки Windows 10 с помощью SFC

            Источник: Windows Central

            Совет: если обнаружены ошибки, вы можете запустить команду примерно три раза, чтобы убедиться, что все исправлено правильно.

            После выполнения этих шагов средство проверки системных файлов восстановит системные файлы, используя локальные файлы образов, а файлы журналов будут сохранены в %windir%/Logs/CBS/CBS.log и %windir%\Logs. \DISM\dism.log , который можно просмотреть, чтобы получить дополнительные сведения о процессе.

            Вы можете использовать это руководство, чтобы узнать больше о том, как использовать инструмент SFC для устранения проблем в Windows 10.

            Дополнительные ресурсы Windows

            Для получения дополнительных полезных статей, обзоров и ответов на распространенные вопросы о Windows 10 и Windows 11 посетите следующие ресурсы:

            Мы можем получать комиссию за покупки по нашим ссылкам. Узнать больше.

            Рейтинг всех 15 Elden Ring

            Рейтинг всех 15 боев с главными боссами Elden Ring

            В Elden Ring есть 15 различных сражений с главными боссами, но какие из них самые лучшие (а какие ужасные)? Вот наш окончательный рейтинг всех без исключения главных боссов в игре.

            Найдена древняя пасхалка Windows 1.0 с Гейбом Ньюэллом

            Обнаружено древнее пасхальное яйцо Windows 1.0 с участием Гейба Ньюэлла

            Как раз в тот момент, когда вы думали, что хранилища знаний старой Windows 1.0 исчерпаны, появляется новая запись. И это становится еще более захватывающим: этот конкретный самородок знаний содержит отсылку ни к кому иному, как к самому Гейбу Ньюэллу из Valve.

            Присоединяйтесь к нам в прямом эфире для Windows Central Video Podcast сегодня в 13:30 по восточному времени

            Сегодня в 13:30 по восточному времени мы в прямом эфире с подкастом Windows Central Video, обязательно будьте там!

            Познакомьтесь с этими обязательными приложениями Windows для Суперкубка LVI

            Ознакомьтесь с этими обязательными приложениями Windows для Суперкубка LVI

            Суперкубок LVI наконец-то здесь. Чтобы получить наилучшие впечатления от большой игры, обязательно скачайте эти приложения для Windows 11 и Windows 10.

            Читайте также: