На этот вопрос уже есть ответ здесь:
Я пытаюсь настроить свою систему на автоматическую загрузку двух основных блоков Vagrant при включении компьютера, но она выдает ошибку, говоря, что нет такого файла или каталога, когда я добавил это в нижнюю часть ~/.profile
bash cd ~/Develop/Websites/scotch && vagrant up
bash cd ~/Develop/Websites/homestead && vagrant up
Я могу вставить эту строку (минус bash) в терминал, и она работает нормально.
Мне сказали, что я не должен использовать ~/.profile для этого и, возможно, должен использовать cron @reboot.
Как мне это оформить, ведь это не скрипт, который обязательно запускается? Это не файл, который вы запускаете, это команда, которая должна находиться в определенной папке.
Похоже, что Вы хотите выполнить эти команды в подоболочке для не влияния на рабочий каталог оболочки, работающей .profile
сценарий.
можно использовать -c
опция выполнить оболочку с командами, данными на командной строке:
bash -c 'cd ~/Develop/Websites/scotch && exec vagrant up'
Однако было бы более просто использовать функция подоболочки из текущей оболочки вместо этого:
( cd ~/Develop/Websites/scotch && exec vagrant up )