2011-12-26 2 views
0

У меня есть сценарий оболочки, который принимает одну переменную в качестве аргумента, так как я выполняю ее сейчас, набрав bash script.sh arg1, можно ли запустить ее, просто набрав script arg1? благодаря!Сценарий оболочки, который может быть выполнен, только набрав его имя

ответ

5

Вы должны начать свой скрипт с линии:

#!/bin/bash 

и сделать свой исполняемый файл: chmod +x script.sh. Затем вы можете запустить его, набрав ./script.sh или даже просто script.sh, если он находится на одном из путей из вашей переменной окружения PATH.

Обратите внимание, что имя файла не имеет значения. Это может быть script.sh, script или что угодно.

3

Вот как получить ./script arg1:

  • убедитесь, что первая строка вашего сценария #!/bin/bash;
  • переименовать его в script;
  • перейдите в каталог, в котором находится сценарий, и введите приведенное выше.

Если вы хотите ввести script arg1 непосредственно:

  • убедитесь, что у вас есть $HOME/bin на своем пути;
  • типа install -D -m700 /path/to/script $HOME/bin/script
0

Поместите скрипт в вашем /usr/local/bin и убедитесь, что путь будет добавлен в $PATH переменной.

1

Да, если переименовать его в сценарий, установите исполняемый бит, используйте правильную линию хижину, и поместить в папку она расположена его, в вашем $ PATH:

mv script.sh script 
chmod u+x script 
make sure the first line in the script is #!/bin/bash (or the correct interpreter if it's not bash) 
PATH=${PATH}:/path/to/script 

После этого, вы можете запустите его, просто набрав «script arg1».

$ PATH - это список папок, разделенных символом:, который оболочка просматривает, когда вы выполняете что-то без указания пути. Вам нужно будет поместить эту строку (последнюю строку) в ваш .bashrc (или файл, который ваша оболочка читает при входе в систему, если вы не используете bash), чтобы сделать его постоянным.

Смежные вопросы