Próbuję wydrukować funkcję printfwypisać linię zmiennych z zapisanymi wartościami, z których jedna może ewentualnie zawierać symbol gwiazdki. Rozsądek używania printf polega na tym, że mogę śledzić styl formatowania już w pliku limits.conf, mając każdą stałą zmienną w wyznaczonej ilości miejsca. Działa dobrze z wszystkim innym niż „*”.
printf "#""%-15s %-7s %-15s %-8sn" $domain $type $item $value >> ~/etc/security/limits.conf
powiedzmy na przykład: domain = * type = hard item = core wartość = 100
Robiąc to, dziwnie dostaję listę wszystkichmoje katalogi w pliku limits.conf, mimo że wartość domeny to „*”. Mam nadzieję, że ktoś może pomóc! Z góry dziękuję!
Przykład tego, jak wygląda wpis:
#<domain> <type> <item> <value>
#
#* soft core 0
Odpowiedzi:
3 dla odpowiedzi № 1Wypróbuj w ten sposób:
printf "#""%-15s %-7s %-15s %-8sn" "$domain" "$type" "$item" "$value" >> ~/etc/security/limits.conf
To powinno chronić * przed rozszerzeniem nazwy pliku - co właśnie widzisz. Zapobiega to również innym problemom.