Подтвердить что ты не робот

Как сделать оболочку script глобальной?

Я нахожусь в Mac OS 10.6, и я пытаюсь изучить кое-что о сценариях оболочки. Я понимаю, как сохранить оболочку script и сделать ее исполняемой, но мне интересно, что я могу сделать или где я могу сохранить файл, чтобы сделать его глобальным (то есть доступным независимо от того, в какой папке я нахожусь).

Например, если я сохраню файл .sh в каталоге/Users/username/и сделаю его исполняемым, я могу выполнить только этот script в этом конкретном каталоге. Если я перейду к /Users/username/Downloads, например, я не могу выполнить script.

Также будут полезны любые предложения ресурсов для получения дополнительной информации о сценариях оболочки. Благодаря

4b9b3361

Ответ 1

/usr/local/bin будет наиболее подходящим местом. Mac OS X имеет значение по умолчанию PATH

Ответ 2

Традиционно такие скрипты либо идут в ~/bin (то есть: каталог bin в вашем домашнем каталоге), либо /usr/local/bin/ Первое означает, что script будет работать только для вас, последний - для скриптов, которые вы хотите кого-либо на чтобы система могла работать.

Если вы поместите его в ~/bin, вам может потребоваться добавить его к переменной среды PATH. /usr/local/bin должен быть уже на пути.

Ответ 3

Есть два способа сделать это -

  1. Поместите ваш скрипт в usr/local/bin и убедитесь, что он исполняемый (chmod +x my_script) (он уже установлен в пути, вы можете проверить, выполнив echo $ PATH)
  2. Создайте папку в вашем домашнем каталоге с именем bin. (Для ваших личных сценариев)
    • CD ~ (берет вас в свой домашний каталог)
    • mkdir bin (создать папку bin)
    • vim.bash_profile (чтобы установить переменную окружения пути)
    • export PATH = ~/bin: $ PATH (нажмите i, затем добавьте эту строку, а затем выполните esc и введите: wq)
    • Теперь вы можете просто ввести имя вашего скрипта и запускать его из любого места.

** ПРИМЕЧАНИЕ. Если вы хотите запустить скрипт с сокращенной командой, а не набирать полное имя файла, добавьте следующее в ваш файл .bash_profile:
alias myscript='my_script.sh'
Затем вы можете запустить скрипт, просто набрав myscript. (вы можете использовать любой псевдоним)

Ответ 4

При использовании оболочки bash напишите эту функцию script как функцию, а затем поместите ее в .bashrc или source файл, содержащий эту функцию, с помощью "source file_name"

Теперь выполните вызов script по функции в оболочке.

Ответ 5

В операционной системе Mac

  • Откройте файл bash ~/.bashrc.
  • добавьте путь к вашему сценарию в вашем файле bashrc, используя экспорт PATH = "$ PATH: /Users/sher.mohammad/Office/practice/practiceShell"
  • Откройте файл ~./Bash_profile и добавьте [[-s ~/.bashrc]] && source ~/.bashrc
  • открыть новое окно терминала Теперь, когда вы откроете свой терминал, ваш скрипт будет загружен

Ответ 6

Это очень просто, если вы знакомы с файлом bashrc! Это будет полностью использовать только ваш файл .bashrc и займет 2 секунды.

(Я использую Arch Linux Manjaro, поэтому я использую .bashrc, расположенный в моем домашнем каталоге)

Код для размещения в вашем файле .bashrc:

# Simple bashrc method to launch anything in terminal from any directory

YOURCOMMAND () {
  cd /path/to/directory/containing/your/script/ && ./YOURSCRIPT
}

Как вы можете видеть, сначала вы используете простую команду 'cd' и даете ей каталог расположения скриптов, затем используете '&&', чтобы вы могли выполнить следующую команду сразу после выполнения, и, наконец, открываете свой скрипт так же, как вы это сделали бы. обычно! Супер просто и сохранено прямо в вашем файле .bash! :)

Надеюсь, я кому-то помог!

С уважением,

AnonymousX

Ответ 7

Сохраняя его в /usr/bin (или любой другой каталог, присутствующий в PATH) или редактируя PATH, чтобы включить каталог, в который вы его сохранили, в основном сделает его запущенным в любом каталоге.

Ответ 8

из рабочего каталога "script.sh" "mv [script.sh]/usr/local/bin" (не тестировалось, но кажется наименее сложным способом IMO.)

Ответ 9

Вы должны поместить его в глобальный исполняемый каталог на вашем компьютере. Я думаю, что обычно это будет /usr/bin в операционных системах на базе Unix (однако для этого чаще всего требуются привилегии суперпользователя на этой машине).

Вы также можете поместить его в любой другой каталог, который находится в переменной среды $PATH, хотя он будет работать только для тех пользователей, у которых есть этот каталог в этой переменной.

Вы можете найти значение $PATH, набрав echo $PATH в оболочке. Каталоги разделяются на :.