Отправка данных в интерфейс управления Linux без использования sudo

Вероятно, вам придется это сделать, потому что ваш текущий путь ( pwd ) не входит в ваш путь поиска исполняемых файлов.

Введите в консоли:

echo $PATH | tr ':' '\n'

Каждая распечатываемая папка находится в пути поиска исполняемых файлов (в указанном порядке).

Теперь, если вы хотите запустить файл из другого каталога, вы должны указать полный (относительный или абсолютный) путь.

./script.sh

означает текущий каталог ( ./ , относительно того, где вы находитесь) и имя файла ( script.sh ). Вы также можете использовать полный путь (начиная с корневой папки / ) к вашему файлу (например, /home/guo/script.sh , если это ваше имя пользователя, и когда ваш файл находится в вашем домашнем каталоге).

В качестве совета, если вы регулярно используете этот файл, я предлагаю создать локальный каталог / bin ( ~ / bin , как внутри вашего домашнего каталога), а затем поместить export PATH = "$ HOME / bin: $ PATH" , например, в ваш .bashrc . А затем поместите свои сценарии в этот каталог.

Еще одно: я предлагаю не использовать 777 в качестве разрешений для его запуска.Вместо этого я предлагаю 755 , поэтому только у вас есть разрешение на перезапись файла. Если вы хотите сделать исполняемый файл, просто используйте chmod + x script.sh , он обычно будет делать то, что вы хотите.

Подобно тому, как я описал выше, можно добавить «текущий» каталог в путь: export PATH = ".: $ PATH" , но это не рекомендуется. Я настоятельно советую использовать личный каталог ( ~ / bin ) для этих случаев использования.

0
19.12.2017, 11:50
1 ответ

Это задача для пользовательских и сетевых пространств имен, в зависимости от конфигурации ядра вызов unshare -Urnзапустит программу (по умолчанию оболочку )с частным сетевым пространством имен, где виртуальный сетевой интерфейс может быть создан, как если бы он был root на отдельной машине.

0
28.01.2020, 04:34

Теги

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