
Я хочу запустить скрипт, но cd
в нем есть некоторые символы s, поэтому мне придется запустить его следующим образом
. /scriptfile
Это работает, но у меня также есть некоторые sudo
s в скрипте. Пока все работает, но я хотел попробовать запустить весь скрипт с , sudo
чтобы я мог удалить все sudo
s из файла скрипта.
Но я не смог запустить следующее (с 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