Каково поведение & operator

Я пытаюсь связать команды в linux, я использую дистрибутив ubuntu 14.04. Цель создания каталога и перехода в этот каталог. Обычно мы делаем это

mkdir foldername cd foldername 

Отлично, когда вы пробовали это

 mkdir gates cd gates 

работает, как ожидалось. Но все работает не так, как ожидалось,

mkdir gates & cd gates , не работает, ошибка не является no such file or directory . При нажатии enter оно создаст ворота каталога на следующем шаге. Почему это происходит? Но ls & mkdir gates работают нормально

  • Как настроить сообщение завершения работы с базой данных?
  • Автоматические фоновые процессы
  • Как заставить процесс работать в фоновом режиме, даже если он отказывается?
  • Как получить pid процесса в фоновом режиме?
  • фоновый процесс ввода труб
  • Использование точки с запятой для отделения фонового задания от следующего?
  • Как получить идентификатор процесса команды
  • Как поставить программу «да» на задний план?
  • One Solution collect form web for “Каково поведение & operator”

    & является оператором фоновой обработки оболочки ; он помещает команду, предшествующую ей в фоновом режиме, и продолжает.

    Так

     mkdir gates & cd gates 

    запускает mkdir gates в фоновом режиме и сразу же запускает cd gates , который пытается изменить каталог до его создания (и не работает).

     ls & mkdir gates 

    работает, потому что mkdir gates не зависят от чего-либо; все, что происходит, это то, что ls запускается в фоновом режиме, выводя список каталогов, в то время как mkdir создает каталог gates .

    Вы, вероятно, ищете

     mkdir gates && cd gates 

    который изменит каталог только в том случае, если mkdir преуспеет; вы можете предпочесть

     mkdir -p gates && cd gates 

    который не будет работать, если каталог уже существует.

    Linux и Unix - лучшая ОС в мире.