Я хотів би знати, чи є спосіб запустити скрипт програми / оболонки без введення повного шляху:
/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. Тепер натисніть улюблену комбінацію клавіш. З'явиться правильний код евакуації. Просто переконайтеся, що замінити ^[
на, \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/ питань:
Створіть м'яке посилання в /usr/bin
direcotyr:
ln -s /usr/bin/idea.sh /opt/idea/bin/idea.sh
Тепер запустіть його, використовуючи:
idea.sh
Або ви можете просто використовувати
nano ~/.bashrc
і додати
PATH=/full/path/to/file:"$PATH"
в кінці, потім збережіть і вийдіть. Після цього ви можете просто ввести ім'я файлу.
Я дотримувався всіх відповідей тут і в інших місцях, і так мало хто не згадує, що вам, можливо, знадобиться ЛІГУВАТИ, щоб команда в кінцевому підсумку спрацювала.
Просто для резюме, особливо для 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)