Portál AbcLinuxu, 4. listopadu 2025 18:20
cat jména_a_hesla | while read; do
name=${REPLY%% *}
psw=${REPLY#* }
adduser ... ... $name
echo "$psw" | passwd --stdin $name
echo "$psw" | smbpasswd -a -s $name
done
Nebo něco v tom smyslu (nezkoušej to jen tak spustit, píšu to z hlavu... ;)
Zbytečnej cat a echowhile read name pswd do adduser $name passwd --stdin <<<"$pswd" smbpasswd -a -s <<<"$pswd" done <jména a heslaNějak se nám horšíš
<soubor wc) ... nebo to jde a jen nevím jak.
exec <jména_a_hesla while read name pswd do ... done
Jenže k vrácení k původnímu sdtin by se muselo buď duplikovat, nebo to hodit jako subproces, to už by snad byl lepší i ten cat
<<<"$pswd" passwd --stdin <<<"$pswd" smbpasswd -a -s
name=${REPLY%% *}
psw=${REPLY#* }
opravím na jiný separátor (třeba :) snáz než read do několika proměnných, protože triky s IFS jsou vždycky křehké...
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.