Как я могу запустить сценарий с помощью sudo? Я получаю «.: Command not found»

Я хочу запустить скрипт, но в скрипте есть некоторые cd , поэтому я должен запустить его вот так

. /scriptfile

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

sudo . /scriptfile

, попытавшись запустить, я получаю

sudo: .: command not found  

Есть ли способ обхода этого?

0
задан 18 June 2021 в 16:38

2 ответа

Заранее запустите sudo su , затем вы можете просто запустить ./ scriptfile

0
ответ дан 28 July 2021 в 11:27

. Вам нужно запустить

sudo ./scriptfile

Вы пробовали

sudo . /scriptfile

, который отличается из-за пробела после точки. . или его эквивалент исходный код - это встроенная оболочка, а не команда. Вот почему команда, которую вы попробовали, выдает ошибку sudo:.: Command not found .

Примечание:

./scriptfile

выполнит файл с именем scriptfile в текущем каталоге. Файл должен быть исполняемым.

. /scriptfile

будет источником файла / scriptfile (напомним, что это абсолютный путь здесь). Для этого файл не обязательно должен быть исполняемым, он должен быть только читаемым.

4
ответ дан 28 July 2021 в 11:27

Другие вопросы по тегам:

Похожие вопросы: