Как запускать скрипты без ввода полного пути?

Я хотел бы знать, есть ли способ запустить скрипт программы / оболочки без ввода полного пути:

/opt/idea/bin/idea.sh
62
задан 28 April 2016 в 21:26

10 ответов

Вы можете добавить / opt / idea / bin в свою переменную PATH :

PATH=/opt/idea/bin:"$PATH"

После этого вы можете запустить его просто с помощью idea.sh .

Возможно, вы захотите добавить эту строку в свой файл ~ / .bashrc .

31
ответ дан 28 April 2016 в 21:26

Вы можете создать средство запуска, используя следующую команду:

gnome-desktop-item-edit --create-new . Я открою это окно.

enter image description here

Назовите его, как хотите, и в поле команд введите после

sh -c '/opt/idea/bin/idea.sh' и сохраните его.

Теперь вы можете запустить этот файл, используя вновь созданную программу запуска

ИЛИ

. Вы можете создать файл .desktop со следующим содержимым

[Desktop Entry]
Name=<whatever-you-want>
Exec=sh -c '/opt/idea/bin/idea.sh'     
Terminal=false
Type=Application
Icon='<path to an icon file if you want>'

Теперь сохраните его с расширением .desktop в любом месте.

Сделайте его можно выполнить с помощью этой команды chmod a + x

Теперь дважды щелкните, чтобы открыть его.

10
ответ дан 28 April 2016 в 21:26

Мы также можем запустить файл /opt/idea/bin/idea.sh напрямую, используя bash_aliases

Открыть ~ / .bashrc , запустив

gedit ~/.bashrc

Удалите # перед строками и сохраните его, чтобы строки выглядели так:

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

Теперь откройте файл ~ / .bash_aliases ,

gedit ~/.bash_aliases

Добавьте следующие строки в этот файл и сохраните его,

alias idea='cd /opt/idea/bin && sudo ./idea.sh'

Наконец, создайте файл ~ / .bashrc ,

source ~/.bashrc

Теперь вы можете запустить / opt / idea / bin / idea. sh напрямую через,

idea
7
ответ дан 28 April 2016 в 21:26

Вы можете просто создать символическую ссылку . Создайте его в / usr / local / bin . Все, что вам нужно, это запустить команду:

sudo ln -s /full/path/to/your/file /usr/local/bin/name_of_new_command

После этого вы должны сделать свой файл исполняемым:

chmod +x /full/path/to/your/file

Теперь вы сможете запускать name_of_new_command в любое время в вашем терминале.

Обратите внимание, что это хорошее решение только для домашнего использования Linux.

69
ответ дан 28 April 2016 в 21:26

Вы можете создать функцию в вашем ~ / .bashrc :

some-name () {
    /path/to/your/file
    # or:
    #cd /path/to/your
    #./path
}

Или вы можете создать псевдоним :

alias some-name='/path/to/your/file'
# or  
#alias some-name='cd /path/to/your/; ./file'

В обоих случаях вы можете запустить его, позвонив:

$ some-name

Если файл не зависит от того, где он запущен, рассмотрите возможность добавления он в ваш ~ / bin :

mkdir -p ~/bin
cp /path/to/you/file ~/bin
# or mv /path/to/you/file ~/bin
# or ln -s /path/to/you/file ~/bin

~ / bin , если он существует, автоматически добавляется в ваш $ PATH . Затем вы напрямую вызываете файл :

$ file

(Однако неправильный выбор имени, подумайте о том, чтобы назвать его чем-то менее общим.)

15
ответ дан 28 April 2016 в 21:26
  • 1
    сначала один работал, последние 2 возвратили это: ravid@ravid-PC $:~ sudo склонный - получают обновление E: Уродливая строка 56 в источнике перечисляет/etc/apt/sources.list (dist синтаксический анализ) E: список источников не мог быть прочитан. ravid@ravid-PC $:~ sudo склонный - получают установку rtl8192cu-dkms встроенное микропрограммное обеспечение Linux, Читая списки пакета... Ошибка! E: Уродливая строка 56 в источнике перечисляет/etc/apt/sources.list (dist синтаксический анализ) E: список источников не мог быть прочитан. E: списки пакета или файл состояния не могли быть проанализированы или открыты. – Ravid 21 August 2015 в 11:39

Мы можем определить функцию и добавьте горячую клавишу с помощью команды bind для ее вызова. Откройте файл ~ / .bashrc и добавьте в него следующую строку:

# define function that opens your program in working directory
Openprog(){
    /your-Program/path/here
}

# bind hotkey to it (<F12>)
bind -x '"\e[24~":"Openprog"'

Теперь, когда вы нажмете F12 , ваша программа запустится.

Примечание: Быстрый способ определить escape-код:

Откройте свой терминал и нажмите Ctrl + V . Теперь нажмите любимую комбинацию клавиш. Должен появиться правильный escape-код. Просто не забудьте заменить ^ [ на \ e перед добавлением ярлыка, например замените ^ [[24 ~ ] на \ e [24 ~ .

7
ответ дан 28 April 2016 в 21:26
  • 1
    @Ben честно, я думаю, что потратил впустую достаточно времени, пытаясь решить это, он doesn' t, кажется, когда-либо решаются, я предполагаю I' ll просто придерживаются окон. чувствует себя подобно пустой трате времени для меня – Ravid 22 August 2015 в 10:55

В дополнение к другим хорошим ответам, рассмотрите возможность создания символической ссылки на ~ / .local / bin и добавления этого каталога в ваш PATH (из вашего .bashrc например). Этот метод не требует специальных разрешений (в отличие, например, от символической ссылки на / usr / local / bin ). Таким образом, у вас может быть стандартная структура каталогов без переполнения вашего $ HOME. Подробнее об этом читайте в https://unix.stackexchange.com/ вопросах:

5
ответ дан 28 April 2016 в 21:26
  • 1
    Его и его father' s компьютеры выполняют Ubuntu. Единственная машина окон, упомянутая здесь, является school' s. Если вирус был передан в USB, то это прибыло из Вина. – Buck 19 August 2015 в 01:17

Создание программного ссылка на него в / usr / bin direcotyr:

ln -s /usr/bin/idea.sh  /opt/idea/bin/idea.sh

Теперь запустите его, используя:

idea.sh
1
ответ дан 28 April 2016 в 21:26
  • 1
    Вирусы в школьных сетях не являются столь редкими, как они должны... Мы имели один в нашей сети в течение многих лет, и те так называемые парни IT не были способны к избавлению от нее, пока наконец мы не получили Win7, установленный в прошлом году или поэтому когда XP пошел EOL... У меня всегда был сценарий пакетной обработки на моих картах с интерфейсом USB со мной, который автоматически удалил вирус из палки, прежде чем я включил его из школьного ПК. И я don' t понимают, как move . C:\Program Files\NotAVirus должен " удалите весь свой files" - уверенный Вы не хотели писать " сама копия к Вашему disk"? – Byte Commander♦ 19 August 2015 в 02:08

Или вы можете просто использовать

nano ~/.bashrc

и добавить

PATH=/full/path/to/file:"$PATH"

в конце, затем сохранить и выйти. После этого вы можете просто ввести имя файла.

0
ответ дан 22 November 2019 в 23:44

Я следил за всеми ответами здесь и в других местах, и очень немногие не упоминают, что вам может потребоваться ВЫЙТИ , чтобы команда в конечном итоге сработала.

Просто для того, чтобы резюме, особенно для Xubuntu , но и для других вариантов Debian / Ubuntu я написал эти простые инструкции.

(в следующих инструкциях мы используем каталог ~ / bin , потому что это автоматически место, откуда эти ОС ищут команды. См. здесь :

Инструкции, защищающие от ошибок, чтобы заставить вашу команду работать:

# Open Terminal with Ctrl + Alt + T (or your system's own shortcut)

# You'll work in your home folder, no need to use sudo for any of this

cd # Go to home directory

mkdir -p bin # Create folder ~/bin if it doesn't exist

# Be careful not to type /bin, that's the bin folder in system root: /

sudo apt install nano # Skip this if you have Nano installed

nano bin/yournewcommand

    # In Nano, type:

    printf "Your new command works! \n" # \n means line break

    # Ctrl+X To leave Nano

    # Ctrl+Y To save the unsaved file

    # Enter to confirm

chmod +x bin/yournewcommand

yournewcommand # If you just created the bin folder, this command might not yet work.

# You must now log out and log back in to make the bin folder noticed (I think)

yournewcommand # Now it works! (You can use Tab to autocomplete the command you're typing)

# If you add a second file/command, it should work without logging out (at least in my tests)
0
ответ дан 22 November 2019 в 23:44

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

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