Я хочу запустить скрипт, но в скрипте есть некоторые cd
, поэтому я должен запустить его вот так
. /scriptfile
Это работает, но я тоже также есть в скрипте несколько sudo
. Пока все работает, но я хотел попробовать запустить весь сценарий с sudo
, чтобы я мог удалить все sudo
из файла сценария.
Но я не смог запустить следующее (с sudo
)
sudo . /scriptfile
, попытавшись запустить, я получаю
sudo: .: command not found
Есть ли способ обхода этого?
Заранее запустите sudo su
, затем вы можете просто запустить ./ scriptfile
. Вам нужно запустить
sudo ./scriptfile
Вы пробовали
sudo . /scriptfile
, который отличается из-за пробела после точки. .
или его эквивалент исходный код
- это встроенная оболочка, а не команда. Вот почему команда, которую вы попробовали, выдает ошибку sudo:.: Command not found
.
Примечание:
./scriptfile
выполнит файл с именем scriptfile
в текущем каталоге. Файл должен быть исполняемым.
. /scriptfile
будет источником файла / scriptfile
(напомним, что это абсолютный путь здесь). Для этого файл не обязательно должен быть исполняемым, он должен быть только читаемым.