Вероятно, вам придется это сделать, потому что ваш текущий путь ( 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
) для этих случаев использования.
Это задача для пользовательских и сетевых пространств имен, в зависимости от конфигурации ядра вызов unshare -Urn
запустит программу (по умолчанию оболочку )с частным сетевым пространством имен, где виртуальный сетевой интерфейс может быть создан, как если бы он был root на отдельной машине.