簡體   English   中英

從文件中讀取行到Bash中的變量

[英]Reading lines from a file into variables in Bash

我正在創建一個腳本,使用Bash自動從Unix中的文本文件添加用戶

我已經將文件讀入了一個以$ FILE保存的腳本

該文件采用以下格式:電子郵件; birthdate; groups; sharedFolder

我想忽略文件中的第一行並將數據讀入變量

我已經將IFS設置為';' 早。 目前我有

sed 1d $FILE | while read EMAIL BIRTH GROUPS SHAREDFOLDER
do
echo "$EMAIL"
done < $FILE

但當我回應EMAIL變量時,我什么也得不到

您正在嘗試將標准輸入重定向兩次。 管道和<不能while read連接。 在我的Bash上<勝利:

bash$ echo moo | cat <<<bar
bar

顯然你想簡單

sed 1d "$FILE" | while read -r EMAIL BIRTH GROUPS SHAREDFOLDER
do
    echo "$EMAIL"
done

雖然這可以有意義地減少到公正

sed 1d;s/;.*//' "$FILE"

您還真的想為您的私有變量使用小寫 ,但這是一個單獨的討論。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM