Boje z Sambą i bashem
Z placu boju:
Samba nie lubi nieistniejących użytkowników. Gdy dodamy do smb.conf linijkę
guest account = nieistniejacyuzytkownik
testparm nie wykryje błędu, ale pod CentOS-em Samba startuje, po czym najwyraźniej od razu znika, co można poznać po tym, iż smbclient -L localhost zwraca błąd, a poza tym próba zrestartowania np. przez service smb restart informuje o błędzie podczas kończenia demona SMB.
bash też nie lepszy. Oto skrypcik:
#!/bin/bash
SCIEZKA='~/Desktop'
ls $SCIEZKA
SCIEZKA="~/Desktop"
ls $SCIEZKA
SCIEZKA='$HOME/Desktop'
ls $SCIEZKA
SCIEZKA="$HOME/Desktop"
ls $SCIEZKA
SCIEZKA='/home/vmario/Desktop'
ls $SCIEZKA
SCIEZKA="/home/vmario/Desktop"
ls $SCIEZKA
Które definicje zmiennej SCIEZKA zostaną prawidłowo rozwikłane? Te podane explicite i pozostałe, które są w podwójnych cudzysłowach? Ku mojemu zdumieniu okazało się, że, owszem, trzy ostatnie zapisy działają prawidłowo, ale trzy pierwsze zwracają błąd, włącznie z SCIEZKA="~/Desktop", który wywołuje błąd:
ls: ~/Desktop: Nie ma takiego pliku ani katalogu
Cóż, nie znałem basha od tej strony.
