1
アカウント作成のためのスクリプトをcsvファイルから読み込みました。私はcsvの最初の行を必要としません。最初の行はsed 1d $ fileを使っていますが、うまくいきません。Bash:stdinの最初の行を削除する
#!/bin/bash
FILE="applicants.csv"
sed 1d $FILE |while IFS=: read USERNAME PASSWORD SCHOOL PROGRAM STATUS; do
#------------------------------------------
groupadd -f $SCHOOL
useradd $USERNAME -p $PASSWORD -g $SCHOOL
if [ $? == 0 ]; then
echo
echo "Success! $USERNAME created"
grep $USERNAME /etc/passwd
echo
#------------------------------------------
else
echo "Failed to create account for $USERNAME"
fi
done < $FILE
ここでcsvファイルここ
Full Name:DOB:School:Program:Status
JoseDavid:22-08-86:ACE:Bsc Computing:Unfinished
YasinAhmed:22-07-85:ACE:Bsc Networking:Complete
MohammedAli:21-04-84:ACE:Bsc Forensics:Complete
UtahKing:22-09-84:ACE:BSC IT:Unfinished
UsmanNaeem:21-09-75:ACE:BSC Computing:Complete
は出力 http://i.stack.imgur.com/R5zPN.jpg
のスクリーンショットは、最初の行をスキップするようにとにかくされているのですか?
まだ最初の行を読んでいますが、awkでも試してみましたが、何も起こりません。 –
おっと!私は本当の問題を見つけ、私の答えを更新しました。 –
私は次のようなメッセージを取り除きました./bulk:21行目:予想外のトークン '$ FILE 'の近くで構文エラーが発生しました ./bulk:行21:' done $ FILE' –