私はこれに2時間取り組んでいますが、運が悪く、常に「不適切な置換」エラーが発生します。
作成したいもの (.sh スクリプト): ファイル (名前) から読み取り、この名前を、スクリプトの引数であるオフセットと長さによって指定された名前の部分文字列に置き換えたいと思います ($1 = オフセット、$2 =長さ)。
次のように動作するはずです(私は思います):new_user=${user:$1:$2}
->ユーザーは.txtから(whileループで)読み取られ、$ 1と$ 2はこの.scの引数です
重要な部分を強調しました:
#!/bin/bash
touch postopek.log
while IFS="," read fullName userName passwordLarge
do
pass=$(perl -e 'print crypt(&ARGV[0], "password")' $passwordLarge)
new_up=${fullName:$1:$2} # important line
sudo useradd -m -p $pass -d /home/$new_up -s /bin/bash $new_up
[ $? -eq 0] && echo "Made something bla bla not important..." >> postopek.log
sudo mkdir /home/$new_up/gradivo
sudo cp -r /home/administrator/vaje/* /home/$new_up/gradivo
sudo chown -R $new_up:$new_up /home/$new_up/gradivo
done < /home/administrator/seznam.txt