Z jakimi pytaniami z języka programowania BASH możesz się spotkać na rozmowie rekrutacyjnej? Poniżej przedstawiamy najczęściej pojawiające się pytania i odpowiedzi.
Pytania rekrutacyjne BASH
1. Czym jest bash?
BASH to najpopularniejsza powłoka systemowa Unix napisana dla GNU. Jest to język, który pozwala na definiowanie aliasów, funkcji oraz zawiera konstrukcje, które sterują przepływem, takie jak: if, while, for.
2. Jakie zmienne środowiskowe pojawiają się w bash?
Zmienne środowiskowe, które najczęściej pojawiają się w BASH to m.in.:
- CDPATH
- EDITOR
- HISTFILE
- HISTSIZE
- HOME
- LANG
- LC_ALL
- LC_MESSAGES
- SHELL
- LOGNAME
3. Od czego skrótem jest BASH?
BASH – Bourne Again SHell. Pierwszy człon pochodzi od nazwiska twórcy Steve’a Bourne’a.
4. Jak napisać skrypt w języku bash, w taki sposób by dany użytkownik mógł uruchomić tylko jedną instancję tego skryptu?
Można to zrobić na kilka sposobów. Jednym z nich jest użycie FLOCK, który spróbuje zablokować plik. Jeśli się nie uda, oznacza to, że w tym skrypcie jest uruchomiona już inna instancja.
Inną możliwością jest użycie LOCKFILE, który powinien zablokować konkretny plik. Jeśli wyświetli się komunikat o błędzie (error), będzie to oznaczało, że w skrypcie jest już uruchomiona inna instancja.
Można też stworzyć katalog za pomocą mkdir. Jeśli taki katalog już istnieje, mkdir nie utworzy nowego katalogu blokady i będzie to znaczyło, że jest uruchomiona inna instancja. Jeśli jednak go utworzy, można uruchomić skrypt.
5. Napisz skrypt w języku bash, który odwróci kolejność podanych argumentów.
#!/bin/sh
o=
for i;do
o="$i $o"
done
echo "$o"
będzie działać jako:
./rev.sh 1 2 3 4
4 3 2 1
6. Jakie są podstawowe różnice pomiędzy BASH a DOS?
W BASH wielkość liter ma znaczenie, w DOS nie ma.
W BASH / to separator katalogu, a w DOS ten sam znak jest spearatorem polecenia.
W BASH nie ma narzuconej konwencji nazywania plików, w DOS konieczny jest zapis: nazwa_pliku + 3 znakowe rozszerzenie.
7. Jakie rodzaje pętli mogą zostać użyte w bashu?
W BASH-u mogą zostać użyte pętle: for, while, until, select.
8. Jak wykonywać operacje arytmetyczne w bashu?
Można je wykonać jedynie na liczbach całkowitych. Przeprowadza się je za pomocą składni $((wyrażenie)) lub $[wyrażenie]. Przykład:
#!/bin/bash
echo $((8/2))
wynik=$[4*5/2]
echo "$wynik"
9. Co to jest IFS?
IFS (Internal Field Separator) jest używany do określenia sposobu dzielenia słów i wierszy za pomocą wbudowanego polecenia “READ”. BASH traktuje każdy znak $IFS jako ogranicznik i dzieli wyniki innych rozwinięć na słowa dotyczące tych znaków.