Source Shell Script vs Executing Shell Script - The Real Difference
Spisu treści:
- Składnia polecenia źródłowego
- Przykłady poleceń źródłowych
- Funkcje pozyskiwania
- Plik konfiguracyjny Bash
- Wniosek
Polecenie
source
odczytuje i wykonuje polecenia z pliku określonego jako argument w bieżącym środowisku powłoki. Przydatne jest ładowanie funkcji, zmiennych i plików konfiguracyjnych do skryptów powłoki.
source
jest powłoką wbudowaną w Bash i inne popularne powłoki używane w systemach operacyjnych Linux i UNIX. Jego zachowanie może nieznacznie różnić się w zależności od powłoki.
Składnia polecenia źródłowego
Składnia polecenia
source
jest następująca:
source FILENAME. FILENAME
-
sourcei.(kropka) to to samo polecenie. JeśliFILENAMEnie jest pełną ścieżką do pliku, polecenie wyszuka plik w katalogach określonych w zmiennej środowiskowej$PATH. Jeśli plik nie zostanie znaleziony w$PATHpolecenie wyszuka plik w bieżącym katalogu. Jeśli podane zostanąARGUMENTS, staną się parametrami pozycyjnymi dlaFILENAMEPLIKU. Jeśli NAZWAFILENAMEistnieje, kod wyjścia komendy źródłowej wynosi0, w przeciwnym razie jeśli plik nie zostanie znaleziony, zwróci1.
Przykłady poleceń źródłowych
W tej sekcji przyjrzymy się kilku podstawowym przykładom używania polecenia
source
.
Funkcje pozyskiwania
W tym przykładzie utworzymy plik, który zawiera funkcję bash, która sprawdza, czy użytkownik uruchamiający skrypt jest rootem, a jeśli nie, wyświetla komunikat i kończy skrypt.
functions.sh
check_root () { if]; then echo "This script must be run as root" exit 1 fi }
Teraz w każdym ze skryptów, które muszą być uruchamiane tylko przez użytkownika root, po prostu pobierz plik
functions.sh
i wywołaj funkcję:
#!/usr/bin/env bash source functions.sh check_root echo "I am root"
Zaletą tego podejścia jest to, że twoje skrypty będą mniejsze i bardziej czytelne, możesz ponownie użyć tego samego pliku funkcji, gdy zajdzie taka potrzeba, aw przypadku potrzeby modyfikacji funkcji będziesz edytować tylko jeden plik.
Plik konfiguracyjny Bash
Za pomocą polecenia
source
możesz także odczytywać zmienne z pliku. Zmienne należy ustawić przy użyciu składni Bash,
VARIABLE=VALUE
.
Utwórzmy testowy plik konfiguracyjny:
VAR1="foo" VAR2="bar"
W skrypcie bash użyj polecenia
source
aby odczytać plik konfiguracyjny:
#!/usr/bin/env bash source config.sh echo "VAR1 is $VAR1" echo "VAR2 is $VAR2"
Wniosek
W tym przewodniku nauczyłeś się korzystać z wbudowanego polecenia
source
w skryptach powłoki.
Nowe źródła Business Intelligence
Blogi, wiki i fora społecznościowe mogą pomóc firmom rozwijać się i kwitnąć - lub doprowadzić ich do katastrofy.
ŹRódła: Niepewne uruchamianie systemu Windows 7 i pakietu Office 14
System Windows 7 i następna wersja pakietu Office, o kodzie o nazwie Office 14, prawdopodobnie nie zostaną wydane jednocześnie.
BlackBerry Storm pobiera WiFi, inne dodatki, powiedzmy źródła
RIM wdroży BlackBerry Storm 2 we wrześniu z dodatkowymi możliwościami Wi-Fi wraz z innymi dodatkami, powiedzmy źródła.







