Хтось може мене направляти на створення спеціальних команд в Unix / Linux.
Хтось може мене направляти на створення спеціальних команд в Unix / Linux.
Відповіді:
Створіть bash-скрипт у папці / usr / bin, він повинен виглядати приблизно так
#!/bin/bash
Whatever combination of commands you want to run when you type this thing.
Це дійсно так просто.
Просто назвіть скрипт bash, що ви хочете ввести в термінал, і зробіть це вишуканим: chmod +x filenameі вам добре!
./filename
Оновіть змінну шляху, щоб включити цей каталог бін. Помістіть це у файл .profileабо .bash_profleфайл, щоб зробити його постійним.
export PATH=$PATH":$HOME/bin"
Створіть сценарій, скажіть, "привіт" і збережіть його у своєму каталозі. Надайте дозвіл на виконання сценарію привіт від $ chmod +x hello.
#!/bin/bash
echo My first programПерезавантажити .profileабо .bash_profle:
$ . ~/.bash_profile
Ви просто введіть:
$ hello
My first programbinпапку в багатьох відповідях тут. Чи є якась проблема, якщо це .binзамість bin?. Я дуже прискіпливий до того, як homeвиглядає, і я не хочу зайвої папки тільки тому.
zshвстановленням, $PATHале в кінцевому підсумку chmod -x helloвийшло, що не працює, а також не капітал -X. Натомість я спробував chmod 755 hello, хоча я не впевнений у ризиках безпеки щодо цієї команди, він насправді дозволив мені запуститись hello. Хтось має для цього пояснення? Я припускаю, що це проблема щодо віку?
chmod +x helloдля додавання привілеїв 'run' до сценарію. chmod -x helloробить навпаки - видаляє привілеї 'run'. (Зауважте, що у відповіді та у коментарі є різниця знаків плюс / мінус.)
Легко, створити псевдонім.
Скажіть, що ви хочете написати команду cd у свій каталог завантажень. І ви хочете назвати це компакт-диском.
alias cdd='cd ~/Downloads'
Ви можете створити будь-яку команду, яку хочете.
Ось додаткова інформація:
http://www.mediacollege.com/linux/command/alias.html
Більшість, якщо не все до цього часу, дистрибутивів Linux має невеликий сценарій у ~ / .bashrc, який виглядає майже ідентично цьому:
if [ -e ~/.bash_aliases ]
then
. ~/.bash_aliases
fi
Це просто означає, що ви можете створювати власні команди (також відомі як " aliases", які зазвичай називають існуючою командою з деякими аргументами, які ви завжди повинні використовувати, або зі списком команд, які повинні бути виконані в порядку).
У вашому дистрибутиві Linux, швидше за все, не буде створений файл .bash_aliases у вашому домі, якщо ви вручну цього не зробили. Отже, щоб створити файл, введіть таку команду:
touch ~/.bash_aliases
Тепер цей файл буде виконуватися автоматично щоразу, коли ви запускаєте новий Термінал.
Тепер ви можете створити список псевдонімів і додати їх у цей файл для подальшого використання. Наприклад, команда rm(видалити) за замовчуванням НЕ просить підтвердити ваш запит, коли ви скажете йому видалити файл / каталог. Однак, є аргумент , який говорить , rmщоб попросити вас підтвердити ваш запит, -i. Отже, rm -i filePathвідобразиться повідомлення з запитом, чи ви впевнені, що хочете видалити вказаний файл. Тепер, якщо ви випадково видалили файл, ви, швидше за все, забудете включити цей -iпараметр, і саме тут виходить aliasдуже корисним. Введіть таку команду
echo "alias rm='\rm -i'" >> ~/.bash_aliases
скаже, Bashщо кожного разу, коли ви запитаєте видалити файл, вам буде відображатися підтверджуюче повідомлення. Звичайно, можна зробити набагато більше - це лише основи.
Якщо ви хочете дізнатися , як використовувати деякі основні команди (тобто cd, touch, rm, mkdir, pushd, popdі т.д.) і / або більш досвідчені, я б рекомендував дуже хорошу книгу ви можете мати на книжковій полиці в якості посилання під назвою
практичний посібник редакторів команд Linux та програмування оболонок , Марк Г. Собел . ISBN: 978-0133085044