Я хотел бы знать, есть ли способ запустить скрипт программы / оболочки без ввода полного пути:
/opt/idea/bin/idea.sh
Я хотел бы знать, есть ли способ запустить скрипт программы / оболочки без ввода полного пути:
/opt/idea/bin/idea.sh
Ответы:
Вы можете просто создать символическую ссылку . Создайте это в /usr/local/bin
. Все, что вам нужно, это запустить команду:
sudo ln -s /full/path/to/your/file /usr/local/bin/name_of_new_command
После этого вы должны сделать свой file
исполняемый файл:
chmod +x /full/path/to/your/file
Теперь вы должны иметь возможность работать name_of_new_command
в любое время в вашем терминале.
Обратите внимание, что это хорошее решение только для домашнего использования Linux.
/usr/local/bin
, указывающую на скрипт в частной домашней папке, например /home/jack/myscript.sh
, так как только пользователь jack
обычно сможет его выполнить. Символическая ссылка будет видна другим пользователям, но не файлу, на который она указывает. В однопользовательской системе это может не иметь значения, но, тем не менее, это «хорошая практика» - размещать сценарии (или ссылки на сценарии), которые могут читать все пользователи /usr/local/bin
, и частные, созданные пользователем сценарии (или ссылки на сценарии) один пользователь в своей ~/bin
папке.
Вы можете добавить /opt/idea/bin
к своей PATH
переменной:
PATH=/opt/idea/bin:"$PATH"
После этого вы можете запустить его просто idea.sh
.
Вы, вероятно, хотите добавить эту строку в свой ~/.bashrc
файл.
idea
, вам нужно создать ссылку или псевдоним с этим именем, указывающим на idea.sh
скрипт.
idea.sh
Сценарий не такой сценарий, по сути , сдвинув его вне его установки директории полностью поддерживается. Правила упаковки Debian здесь не применяются.
Вы можете создать функцию в вашем ~/.bashrc
:
some-name () {
/path/to/your/file
# or:
#cd /path/to/your
#./path
}
Или вы можете создать alias
:
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
:
$ file
(Неправильный выбор имени, хотя, назовите это как-то менее универсальным.)
file
к вашему ~/bin
, что я обычно делаю (для более длинных сценариев). Я бы, наверное, даже поставил его наверх :) Псевдонимы хороши для ярлыков команд с определенными параметрами, например alias l='ls -CF'
. Хотя я видел гораздо более удивительные варианты использования псевдонимов . Я не склонен объявлять функции в ~/.bashrc
(я предпочитаю, чтобы все мои сценарии были организованы в отдельные файлы ~/bin
). Хотя все это дело вкуса, я думаю :)
cd
, потому что сценарий может зависеть от рабочего каталога. :) В противном случае, да, я склонен помещать файлы в ~/bin
себя.
Вы можете создать панель запуска с помощью следующей команды:
gnome-desktop-item-edit --create-new <path-where-to-save>
, Я открою это окно.
Назовите его как хотите, и в командной строке введите следующее
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 <your-desktop-file>
Теперь дважды щелкните, чтобы открыть его.
Мы можем определить функцию и горячую клавишу добавления, используя 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, ваша программа запустится.
Примечание. Быстрый способ определения кода перехода:
Откройте свой терминал и нажмите Ctrl+ V. Теперь нажмите вашу любимую комбинацию клавиш. Должен появиться правильный escape-код. Обязательно замените ^[
на \e
перед добавлением ярлыка, например, замените ^[[24~
на \e[24~
.
Мы также можем запустить /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
В дополнение к другим хорошим ответам, рассмотрите возможность создания ссылок на ~/.local/bin
этот каталог и добавьте его в свой PATH (например, изнутри .bashrc
). Этот метод не требует специальных разрешений (в отличие /usr/local/bin
, например, от символической ссылки ). Таким образом, вы можете иметь стандартную структуру каталогов, не загружая ваш $ HOME. Узнайте больше об этом на этих https://unix.stackexchange.com/ вопросах:
Или вы можете просто использовать
nano ~/.bashrc
и добавить
PATH=/full/path/to/file:"$PATH"
в конце, затем сохраните и выйдите. После этого вы можете просто ввести имя файла.
Я последовал за все ответы здесь и в других местах и так мало не говоря уже о том , что вам может понадобиться LOG OUT для команды , чтобы в конечном итоге работать.
Напомним, что специально для 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)