Czy ktoś może poprowadzić mnie do tworzenia niestandardowych poleceń w systemach Unix / Linux.
Czy ktoś może poprowadzić mnie do tworzenia niestandardowych poleceń w systemach Unix / Linux.
Odpowiedzi:
Utwórz skrypt bash w folderze / usr / bin, powinien on wyglądać mniej więcej tak
#!/bin/bash
Whatever combination of commands you want to run when you type this thing.
To naprawdę takie proste.
Wystarczy nazwać skrypt bash, który chcesz wpisać w terminalu, i spraw, aby był on niewykonalny: chmod +x filename
i możesz zacząć!
./filename
Zaktualizuj zmienną ścieżki, aby zawierała ten katalog bin. Włóż to .profile
lub .bash_profle
plik, aby było trwałe.
export PATH=$PATH":$HOME/bin"
Utwórz skrypt powiedz „cześć” i przechowuj go w katalogu bin. Udziel uprawnienia do wykonania skryptu hello przez $ chmod +x hello
.
#!/bin/bash
echo My first program
Załaduj ponownie .profile
lub .bash_profle
:
$ . ~/.bash_profile
Z dowolnego katalogu wystarczy wpisać:
$ hello
My first program
bin
folderu w wielu odpowiedziach tutaj. Czy jest jakiś problem, jeśli .bin
zamiast niego bin
? Jestem bardzo wybredna, jeśli chodzi o mój home
wygląd i nie chcę dodatkowego folderu tylko dlatego.
zsh
instalacją, $PATH
ale ostatecznie okazało się, że chmod -x hello
to nie działało, podobnie jak kapitał -X
. Zamiast tego próbowałem chmod 755 hello
, chociaż nie jestem pewien zagrożeń bezpieczeństwa związanych z tym poleceniem, w rzeczywistości pozwoliło mi to uruchomić hello
. Czy ktoś ma na to wytłumaczenie? Zakładam, że jest to problem ze względu na wiek?
chmod +x hello
do dodawania uprawnień do skryptu. chmod -x hello
robi dokładnie odwrotnie - usuwa uprawnienia „uruchom”. (Zwróć uwagę na różnicę znaku plus / minus w odpowiedzi i w swoim komentarzu.)
Łatwo, utwórz alias.
Powiedz, że chcesz napisać komendę cd w swoim katalogu pobierania. I chcesz to nazwać cdd.
alias cdd='cd ~/Downloads'
Możesz utworzyć dowolne polecenie.
Oto dalsze informacje:
http://www.mediacollege.com/linux/command/alias.html
Większość, jeśli nie wszystkie, dystrybucje Linuksa mają mały skrypt w ~ / .bashrc, który wygląda prawie identycznie z tym:
if [ -e ~/.bash_aliases ]
then
. ~/.bash_aliases
fi
Oznacza to jedynie, że możesz tworzyć własne polecenia (znane również jako „ aliases
”, zwykle odnoszące się do istniejącego polecenia z niektórymi argumentami, których zawsze musisz użyć, lub listę poleceń, które należy wykonać w kolejności).
Twoja dystrybucja Linuksa najprawdopodobniej nie utworzy pliku .bash_aliases w twoim domu, chyba że już to zrobiłeś ręcznie. Aby utworzyć plik, wpisz następujące polecenie:
touch ~/.bash_aliases
Teraz ten plik będzie wykonywany automatycznie przy każdym uruchomieniu nowego terminala.
Teraz możesz utworzyć listę aliasów i dodać je do tego pliku do późniejszego wykorzystania. Na przykład polecenie rm
(usuń) domyślnie NIE prosi o potwierdzenie żądania, gdy nakazuje mu się usunięcie pliku / katalogu. Jednak nie jest to argument, który mówi rm
, aby zapytać o potwierdzenie żądania -i
. Tak więc rm -i filePath
wyświetli się komunikat z pytaniem, czy jesteś pewien, że chcesz usunąć określony plik. Teraz, jeśli przypadkowo usuniesz plik, najprawdopodobniej zapomnisz dołączyć -i
opcję, i to właśnie wtedy alias
staje się bardzo korzystne. Wpisując następujące polecenie
echo "alias rm='\rm -i'" >> ~/.bash_aliases
powie, Bash
że za każdym razem, gdy poprosisz o usunięcie pliku, pojawi się komunikat potwierdzający. Oczywiście możesz zrobić znacznie więcej - to tylko podstawy.
Jeśli chcesz dowiedzieć się, jak korzystać z podstawowych komend (tzn cd
, touch
, rm
, mkdir
, pushd
, popd
, itd.) I / lub bardziej wyszukanych, ja polecam bardzo dobrą książkę możesz mieć na swojej półce jako odniesienie nazwie
praktyczny przewodnik po edytorach poleceń systemu Linux i programowaniu powłoki , autorstwa Marka G. Sobella . ISBN: 978-0133085044