Как запустить скрипт с помощью sudo? Я получаю ".: команда не найдена"

Как запустить скрипт с помощью sudo? Я получаю ".: команда не найдена"

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

. /scriptfile

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

sudo . /scriptfile

пытаясь бежать я получаю

sudo: .: command not found  

Есть ли какое-нибудь решение этой проблемы?

решение1

Тебе нужно бежать

sudo ./scriptfile

Ты пытался

sudo . /scriptfile

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

Примечание:

./scriptfile

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

. /scriptfile

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

решение2

Беги sudo suзаранее, потом можешь просто бежать./scriptfile

Связанный контент