Запуск сценариев оболочки из любого места [дубликат]

Иногда имя команды, используемой для запуска программы, не совпадает с именем пакета, который вы установили для получения указанной программы.

Недавно я обнаружил это, когда я установил Maze Galious для того, чтобы уйти, он не появился в меню «Игры», и мне потребовалось пару минут, чтобы узнать, что для начала игры у меня было перейти к терминалу и ввести «mog». /anecdote.

Это может произойти по разным причинам, возможно, имя (например, в моем анекдоте) слишком длинное, чтобы быть разумным именем для команды, возможно, имя, которое разработчик хотел, было выбрано, возможно разработчик имел мозговых червей и просто хотел с вами связаться, назвав его чем-то совершенно случайным - почему не стоит беспокоиться, если вы хотите «исправить», просто используйте псевдоним или символическую / жесткую ссылку. [ ! d2]

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

7
задан 20 June 2012 в 01:03

29 ответов

Вы можете добавить ~/scripts в переменную среды $PATH. Затем вы можете запустить scriptname из любого места (но не ./scriptname, потому что ./ обозначает текущий каталог).

Этот ответ показывает, как добавить ~/bin на $PATH, но вы можете сделать то же самое с ~/scripts, конечно.

12
ответ дан 25 July 2018 в 18:24

Вы можете добавить ~/scripts в переменную среды $PATH. Затем вы можете запустить scriptname из любого места (но не ./scriptname, потому что ./ обозначает текущий каталог).

Этот ответ показывает, как добавить ~/bin на $PATH, но вы можете сделать то же самое с ~/scripts, конечно.

12
ответ дан 31 July 2018 в 11:10

Вы можете добавить ~/scripts в переменную среды $PATH. Затем вы можете запустить scriptname из любого места (но не ./scriptname, потому что ./ обозначает текущий каталог).

Этот ответ показывает, как добавить ~/bin на $PATH, но вы можете сделать то же самое с ~/scripts, конечно.

12
ответ дан 31 July 2018 в 12:09

Вы можете добавить ~/scripts в переменную среды $PATH. Затем вы можете запустить scriptname из любого места (но не ./scriptname, потому что ./ обозначает текущий каталог).

Этот ответ показывает, как добавить ~/bin на $PATH, но вы можете сделать то же самое с ~/scripts, конечно.

12
ответ дан 2 August 2018 в 00:36

Вы можете добавить ~/scripts в переменную среды $PATH. Затем вы можете запустить scriptname из любого места (но не ./scriptname, потому что ./ обозначает текущий каталог).

Этот ответ показывает, как добавить ~/bin на $PATH, но вы можете сделать то же самое с ~/scripts, конечно.

12
ответ дан 4 August 2018 в 16:06

Вы можете добавить ~/scripts в переменную среды $PATH. Затем вы можете запустить scriptname из любого места (но не ./scriptname, потому что ./ обозначает текущий каталог).

Этот ответ показывает, как добавить ~/bin на $PATH, но вы можете сделать то же самое с ~/scripts, конечно.

12
ответ дан 6 August 2018 в 00:44

Вы можете добавить ~/scripts в переменную среды $PATH. Затем вы можете запустить scriptname из любого места (но не ./scriptname, потому что ./ обозначает текущий каталог).

Этот ответ показывает, как добавить ~/bin на $PATH, но вы можете сделать то же самое с ~/scripts, конечно.

12
ответ дан 7 August 2018 в 18:09

Вы можете добавить ~/scripts в переменную среды $PATH. Затем вы можете запустить scriptname из любого места (но не ./scriptname, потому что ./ обозначает текущий каталог).

Этот ответ показывает, как добавить ~/bin на $PATH, но вы можете сделать то же самое с ~/scripts, конечно.

12
ответ дан 10 August 2018 в 06:56

Вы можете добавить ~/scripts в переменную среды $PATH. Затем вы можете запустить scriptname из любого места (но не ./scriptname, потому что ./ обозначает текущий каталог).

Этот ответ показывает, как добавить ~/bin на $PATH, но вы можете сделать то же самое с ~/scripts, конечно.

12
ответ дан 15 August 2018 в 18:53

Добавьте

 export PATH=$PATH:~/scripts

в конец вашего файла ~/.bashrc. Это позволит вам выполнить ваши скрипты в ~/scripts/, просто набрав имя сценария в bash. Вам необходимо выйти из системы, чтобы он работал на вашем сеансе (вы можете протестировать скрипты, открыв новый терминал).

Я обычно добавляю

 export PATH=$PATH:~/bin

к своему пути, а затем создаю символические ссылки на скрипты, программы, которые я хочу иметь в моей сессии.

cd ~/bin
ln -s ~/Tools/eclipse3.7/eclipse 
# which will create a symlink in ~/bin/ with the name eclipse
# pointing to ~/Tools/eclipse3.7/eclipse which allows me to execute
# the eclipse in ~/Tools/eclipse3.7/
[d4 ] Обратите внимание, что файлы путей имеют приоритет. Если я уже установил eclipse через ubuntu, он сначала будет искать eclipse во всех других местах, чем в ~/bin/. Если вы хотите изменить это поведение, просто экспортируйте каталог по-другому:

export PATH=~/bin:$PATH

Убедитесь, что скрипты в вашем каталоге сценариев исполняются, иначе экспорт не будет иметь эффекта.

Вы можете посмотреть доступные пути, набрав

echo $PATH

Если вы хотите увидеть все переменные среды типа env в консоли.

15
ответ дан 25 May 2018 в 09:57
  • 1
    +1 Хорошо положил ответ. Обычно я добавляю свой bin на фронт PATH. Таким образом, я могу использовать свою «собственную версию» команд. И в качестве побочного примечания вам не нужна конечная косая черта после имени каталога. – lgarzo 20 June 2012 в 01:26
  • 2
    Благодаря! Вы правы. Я удалил косые черты в своем комментарии. Я хотел предоставить рабочее решение. – Pascal 20 June 2012 в 01:36

Два способа:

вызывать сценарии оболочки с полным путем вместо ./, например ~/scripts/scriptname добавить папку, содержащую ваши сценарии оболочки, в переменную среды $PATH и вызвать оболочку скрипты без ведущего ./, например scriptname
2
ответ дан 25 May 2018 в 09:57
  • 1
    Правильная ли строка, чтобы добавить к PATH? /my/path/myscript.sh – Mr.Hyde 25 April 2016 в 10:40

Добавьте

 export PATH=$PATH:~/scripts

в конец вашего файла ~/.bashrc. Это позволит вам выполнить ваши скрипты в ~/scripts/, просто набрав имя сценария в bash. Вам необходимо выйти из системы, чтобы он работал на вашем сеансе (вы можете протестировать скрипты, открыв новый терминал).

Я обычно добавляю

 export PATH=$PATH:~/bin

к своему пути, а затем создаю символические ссылки на скрипты, программы, которые я хочу иметь в моей сессии.

cd ~/bin
ln -s ~/Tools/eclipse3.7/eclipse 
# which will create a symlink in ~/bin/ with the name eclipse
# pointing to ~/Tools/eclipse3.7/eclipse which allows me to execute
# the eclipse in ~/Tools/eclipse3.7/

Обратите внимание, что файлы путей имеют приоритет. Если я уже установил eclipse через ubuntu, он сначала будет искать eclipse во всех других местах, чем в ~/bin/. Если вы хотите изменить это поведение, просто экспортируйте каталог по-другому:

export PATH=~/bin:$PATH

Убедитесь, что скрипты в вашем каталоге сценариев исполняются, иначе экспорт не будет иметь эффекта.

Вы можете посмотреть доступные пути, набрав

echo $PATH

Если вы хотите увидеть все переменные среды типа env в консоли.

15
ответ дан 25 July 2018 в 18:24

Два способа:

  • вызывать сценарии оболочки с полным путем вместо ./, например ~/scripts/scriptname
  • добавить папку, содержащую ваши сценарии оболочки, в переменную среды $PATH и вызывать ваши сценарии оболочки без ведущего ./, например scriptname
2
ответ дан 25 July 2018 в 18:24

Два способа:

  • вызывать сценарии оболочки с полным путем вместо ./, например ~/scripts/scriptname
  • добавить папку, содержащую ваши сценарии оболочки, в переменную среды $PATH и вызывать ваши сценарии оболочки без ведущего ./, например scriptname
2
ответ дан 31 July 2018 в 11:10

Добавьте

 export PATH=$PATH:~/scripts

в конец вашего файла ~/.bashrc. Это позволит вам выполнить ваши скрипты в ~/scripts/, просто набрав имя сценария в bash. Вам необходимо выйти из системы, чтобы он работал на вашем сеансе (вы можете протестировать скрипты, открыв новый терминал).

Я обычно добавляю

 export PATH=$PATH:~/bin

к своему пути, а затем создаю символические ссылки на скрипты, программы, которые я хочу иметь в моей сессии.

cd ~/bin
ln -s ~/Tools/eclipse3.7/eclipse 
# which will create a symlink in ~/bin/ with the name eclipse
# pointing to ~/Tools/eclipse3.7/eclipse which allows me to execute
# the eclipse in ~/Tools/eclipse3.7/

Обратите внимание, что файлы путей имеют приоритет. Если я уже установил eclipse через ubuntu, он сначала будет искать eclipse во всех других местах, чем в ~/bin/. Если вы хотите изменить это поведение, просто экспортируйте каталог по-другому:

export PATH=~/bin:$PATH

Убедитесь, что скрипты в вашем каталоге сценариев исполняются, иначе экспорт не будет иметь эффекта.

Вы можете посмотреть доступные пути, набрав

echo $PATH

Если вы хотите увидеть все переменные среды типа env в консоли.

15
ответ дан 31 July 2018 в 11:10

Добавьте

 export PATH=$PATH:~/scripts

в конец вашего файла ~/.bashrc. Это позволит вам выполнить ваши скрипты в ~/scripts/, просто набрав имя сценария в bash. Вам необходимо выйти из системы, чтобы он работал на вашем сеансе (вы можете протестировать скрипты, открыв новый терминал).

Я обычно добавляю

 export PATH=$PATH:~/bin

к своему пути, а затем создаю символические ссылки на скрипты, программы, которые я хочу иметь в моей сессии.

cd ~/bin
ln -s ~/Tools/eclipse3.7/eclipse 
# which will create a symlink in ~/bin/ with the name eclipse
# pointing to ~/Tools/eclipse3.7/eclipse which allows me to execute
# the eclipse in ~/Tools/eclipse3.7/

Обратите внимание, что файлы путей имеют приоритет. Если я уже установил eclipse через ubuntu, он сначала будет искать eclipse во всех других местах, чем в ~/bin/. Если вы хотите изменить это поведение, просто экспортируйте каталог по-другому:

export PATH=~/bin:$PATH

Убедитесь, что скрипты в вашем каталоге сценариев исполняются, иначе экспорт не будет иметь эффекта.

Вы можете посмотреть доступные пути, набрав

echo $PATH

Если вы хотите увидеть все переменные среды типа env в консоли.

15
ответ дан 31 July 2018 в 12:09

Два способа:

  • вызывать сценарии оболочки с полным путем вместо ./, например ~/scripts/scriptname
  • добавить папку, содержащую ваши сценарии оболочки, в переменную среды $PATH и вызывать ваши сценарии оболочки без ведущего ./, например scriptname
2
ответ дан 31 July 2018 в 12:09

Добавьте

 export PATH=$PATH:~/scripts

в конец вашего файла ~/.bashrc. Это позволит вам выполнить ваши скрипты в ~/scripts/, просто набрав имя сценария в bash. Вам необходимо выйти из системы, чтобы он работал на вашем сеансе (вы можете протестировать скрипты, открыв новый терминал).

Я обычно добавляю

 export PATH=$PATH:~/bin

к своему пути, а затем создаю символические ссылки на скрипты, программы, которые я хочу иметь в моей сессии.

cd ~/bin
ln -s ~/Tools/eclipse3.7/eclipse 
# which will create a symlink in ~/bin/ with the name eclipse
# pointing to ~/Tools/eclipse3.7/eclipse which allows me to execute
# the eclipse in ~/Tools/eclipse3.7/

Обратите внимание, что файлы путей имеют приоритет. Если я уже установил eclipse через ubuntu, он сначала будет искать eclipse во всех других местах, чем в ~/bin/. Если вы хотите изменить это поведение, просто экспортируйте каталог по-другому:

export PATH=~/bin:$PATH

Убедитесь, что скрипты в вашем каталоге сценариев исполняются, иначе экспорт не будет иметь эффекта.

Вы можете посмотреть доступные пути, набрав

echo $PATH

Если вы хотите увидеть все переменные среды типа env в консоли.

15
ответ дан 2 August 2018 в 00:36

Два способа:

  • вызывать сценарии оболочки с полным путем вместо ./, например ~/scripts/scriptname
  • добавить папку, содержащую ваши сценарии оболочки, в переменную среды $PATH и вызывать ваши сценарии оболочки без ведущего ./, например scriptname
2
ответ дан 2 August 2018 в 00:36

Добавьте

 export PATH=$PATH:~/scripts

в конец вашего файла ~/.bashrc. Это позволит вам выполнить ваши скрипты в ~/scripts/, просто набрав имя сценария в bash. Вам необходимо выйти из системы, чтобы он работал на вашем сеансе (вы можете протестировать скрипты, открыв новый терминал).

Я обычно добавляю

 export PATH=$PATH:~/bin

к своему пути, а затем создаю символические ссылки на скрипты, программы, которые я хочу иметь в моей сессии.

cd ~/bin
ln -s ~/Tools/eclipse3.7/eclipse 
# which will create a symlink in ~/bin/ with the name eclipse
# pointing to ~/Tools/eclipse3.7/eclipse which allows me to execute
# the eclipse in ~/Tools/eclipse3.7/

Обратите внимание, что файлы путей имеют приоритет. Если я уже установил eclipse через ubuntu, он сначала будет искать eclipse во всех других местах, чем в ~/bin/. Если вы хотите изменить это поведение, просто экспортируйте каталог по-другому:

export PATH=~/bin:$PATH

Убедитесь, что скрипты в вашем каталоге сценариев исполняются, иначе экспорт не будет иметь эффекта.

Вы можете посмотреть доступные пути, набрав

echo $PATH

Если вы хотите увидеть все переменные среды типа env в консоли.

15
ответ дан 4 August 2018 в 16:06

Два способа:

  • вызывать сценарии оболочки с полным путем вместо ./, например ~/scripts/scriptname
  • добавить папку, содержащую ваши сценарии оболочки, в переменную среды $PATH и вызывать ваши сценарии оболочки без ведущего ./, например scriptname
2
ответ дан 4 August 2018 в 16:06

Добавьте

 export PATH=$PATH:~/scripts

в конец вашего файла ~/.bashrc. Это позволит вам выполнить ваши скрипты в ~/scripts/, просто набрав имя сценария в bash. Вам необходимо выйти из системы, чтобы он работал на вашем сеансе (вы можете протестировать скрипты, открыв новый терминал).

Я обычно добавляю

 export PATH=$PATH:~/bin

к своему пути, а затем создаю символические ссылки на скрипты, программы, которые я хочу иметь в моей сессии.

cd ~/bin
ln -s ~/Tools/eclipse3.7/eclipse 
# which will create a symlink in ~/bin/ with the name eclipse
# pointing to ~/Tools/eclipse3.7/eclipse which allows me to execute
# the eclipse in ~/Tools/eclipse3.7/

Обратите внимание, что файлы путей имеют приоритет. Если я уже установил eclipse через ubuntu, он сначала будет искать eclipse во всех других местах, чем в ~/bin/. Если вы хотите изменить это поведение, просто экспортируйте каталог по-другому:

export PATH=~/bin:$PATH

Убедитесь, что скрипты в вашем каталоге сценариев исполняются, иначе экспорт не будет иметь эффекта.

Вы можете посмотреть доступные пути, набрав

echo $PATH

Если вы хотите увидеть все переменные среды типа env в консоли.

15
ответ дан 6 August 2018 в 00:44

Два способа:

  • вызывать сценарии оболочки с полным путем вместо ./, например ~/scripts/scriptname
  • добавить папку, содержащую ваши сценарии оболочки, в переменную среды $PATH и вызывать ваши сценарии оболочки без ведущего ./, например scriptname
2
ответ дан 6 August 2018 в 00:44

Добавьте

 export PATH=$PATH:~/scripts

в конец вашего файла ~/.bashrc. Это позволит вам выполнить ваши скрипты в ~/scripts/, просто набрав имя сценария в bash. Вам необходимо выйти из системы, чтобы он работал на вашем сеансе (вы можете протестировать скрипты, открыв новый терминал).

Я обычно добавляю

 export PATH=$PATH:~/bin

к своему пути, а затем создаю символические ссылки на скрипты, программы, которые я хочу иметь в моей сессии.

cd ~/bin
ln -s ~/Tools/eclipse3.7/eclipse 
# which will create a symlink in ~/bin/ with the name eclipse
# pointing to ~/Tools/eclipse3.7/eclipse which allows me to execute
# the eclipse in ~/Tools/eclipse3.7/

Обратите внимание, что файлы путей имеют приоритет. Если я уже установил eclipse через ubuntu, он сначала будет искать eclipse во всех других местах, чем в ~/bin/. Если вы хотите изменить это поведение, просто экспортируйте каталог по-другому:

export PATH=~/bin:$PATH

Убедитесь, что скрипты в вашем каталоге сценариев исполняются, иначе экспорт не будет иметь эффекта.

Вы можете посмотреть доступные пути, набрав

echo $PATH

Если вы хотите увидеть все переменные среды типа env в консоли.

16
ответ дан 7 August 2018 в 18:09

Два способа:

  • вызывать сценарии оболочки с полным путем вместо ./, например ~/scripts/scriptname
  • добавить папку, содержащую ваши сценарии оболочки, в переменную среды $PATH и вызывать ваши сценарии оболочки без ведущего ./, например scriptname
2
ответ дан 7 August 2018 в 18:09

Два способа:

  • вызывать сценарии оболочки с полным путем вместо ./, например ~/scripts/scriptname
  • добавить папку, содержащую ваши сценарии оболочки, в переменную среды $PATH и вызывать ваши сценарии оболочки без ведущего ./, например scriptname
2
ответ дан 10 August 2018 в 06:56

Добавьте

 export PATH=$PATH:~/scripts

в конец вашего файла ~/.bashrc. Это позволит вам выполнить ваши скрипты в ~/scripts/, просто набрав имя сценария в bash. Вам необходимо выйти из системы, чтобы он работал на вашем сеансе (вы можете протестировать скрипты, открыв новый терминал).

Я обычно добавляю

 export PATH=$PATH:~/bin

к своему пути, а затем создаю символические ссылки на скрипты, программы, которые я хочу иметь в моей сессии.

cd ~/bin
ln -s ~/Tools/eclipse3.7/eclipse 
# which will create a symlink in ~/bin/ with the name eclipse
# pointing to ~/Tools/eclipse3.7/eclipse which allows me to execute
# the eclipse in ~/Tools/eclipse3.7/

Обратите внимание, что файлы путей имеют приоритет. Если я уже установил eclipse через ubuntu, он сначала будет искать eclipse во всех других местах, чем в ~/bin/. Если вы хотите изменить это поведение, просто экспортируйте каталог по-другому:

export PATH=~/bin:$PATH

Убедитесь, что скрипты в вашем каталоге сценариев исполняются, иначе экспорт не будет иметь эффекта.

Вы можете посмотреть доступные пути, набрав

echo $PATH

Если вы хотите увидеть все переменные среды типа env в консоли.

16
ответ дан 10 August 2018 в 06:56

Два способа:

  • вызывать сценарии оболочки с полным путем вместо ./, например ~/scripts/scriptname
  • добавить папку, содержащую ваши сценарии оболочки, в переменную среды $PATH и вызывать ваши сценарии оболочки без ведущего ./, например scriptname
2
ответ дан 15 August 2018 в 18:53
  • 1
    Правильная ли строка, чтобы добавить к PATH? /my/path/myscript.sh – Mr.Hyde 25 April 2016 в 10:40

Добавьте

 export PATH=$PATH:~/scripts

в конец вашего файла ~/.bashrc. Это позволит вам выполнить ваши скрипты в ~/scripts/, просто набрав имя сценария в bash. Вам необходимо выйти из системы, чтобы он работал на вашем сеансе (вы можете протестировать скрипты, открыв новый терминал).

Я обычно добавляю

 export PATH=$PATH:~/bin

к своему пути, а затем создаю символические ссылки на скрипты, программы, которые я хочу иметь в моей сессии.

cd ~/bin
ln -s ~/Tools/eclipse3.7/eclipse 
# which will create a symlink in ~/bin/ with the name eclipse
# pointing to ~/Tools/eclipse3.7/eclipse which allows me to execute
# the eclipse in ~/Tools/eclipse3.7/

Обратите внимание, что файлы путей имеют приоритет. Если я уже установил eclipse через ubuntu, он сначала будет искать eclipse во всех других местах, чем в ~/bin/. Если вы хотите изменить это поведение, просто экспортируйте каталог по-другому:

export PATH=~/bin:$PATH

Убедитесь, что скрипты в вашем каталоге сценариев исполняются, иначе экспорт не будет иметь эффекта.

Вы можете посмотреть доступные пути, набрав

echo $PATH

Если вы хотите увидеть все переменные среды типа env в консоли.

16
ответ дан 15 August 2018 в 18:53
  • 1
    +1 Хорошо положил ответ. Обычно я добавляю свой бит в front из PATH. Таким образом, я могу использовать свою «собственную версию» команд. И в качестве побочного примечания вам не нужна конечная косая черта после имени каталога. – lgarzo 20 June 2012 в 01:26
  • 2
    Спасибо! Вы правы. Я удалил косые черты в своем комментарии. Я хотел предоставить рабочее решение. – Pascal 20 June 2012 в 01:36

Другие вопросы по тегам:

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