Я хотів би знати, чи є спосіб запустити скрипт програми / оболонки без введення повного шляху:
/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/bindirecotyr:
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)