2017-03-02 50 views
1

我想創建一些用戶使用文件文本中有關於用戶的信息。該文件中的文本是這樣寫的是:使用useradd添加用戶與文本文件

#FIRSTNAME LASTNAME UID 
firstname1 lastname1 uid1 
firstname2 lastname2 uid2 
etc ... 

這是我嘗試了現在要做的:

#!/bin/bash 
while read var1 var2 var3 
do 
sudo useradd $var1$var2 -u $var3 
done < ~/Users.txt 

但我必須找到一個辦法忽略的第一行......我不知道在哪裏可以在我的腳本中添加grep -v "#" ...

(我試圖找到這樣做的最簡單的方法)

回答

1

你可以使用這樣的:

while read line 
do 
    # do process 
    sudo useradd "$var1$var2" -u "$var3" 
done < <(grep -v '^#' file) 

總是建議引用變量。

1
#!/bin/bash 
while read var1 var2 var3 
do 
    if [[ ! $var1 =~ "#"* ]] 
    then 
     sudo useradd $var1$var2 -u $var3 
    fi 
done < ~/names 
+1

'[[$ var1!=「#」*]]'最好檢查 – anubhava

+1

@anubhava感謝您的輸入,更新了答案。 –

+0

喲不需要使用正則表達式的'=〜'。按照我的建議使用'!=' – anubhava

相關問題