2017-07-07 79 views
1

我對bash腳本編程非常陌生我對它能做的所有事情感到驚訝。我碰到了一堵牆,嘗試了許多不同的組合,以使它起作用,似乎無法得到它。Bash shell擴展給出的命令沒有找到

任何想法/提示/答案將不勝感激!

問題:我有一個文件作爲ldapsearch腳本的一部分被刪除,它包含sAMAccountName和郵件屬性。這些是在不同的線路上,我想: 1)拿一個grepped文件(grep -E「sAMAccountName | mail」)這將產生每行一個條目並將其輸出爲,然後我將輸入postmap哈希:/ etc/postfix/canonical(ftw)。然而,

!我的統治世界的計劃被推遲了,因爲我將命令執行的輸出分配給$ stuff issues命令的語句未找到...... grrr。請親切的互聯網bash大師指出我的錯誤,請! 不是所有的代碼包含,只是在給我找麻煩片: REF1:Bash regex if statement

############################# 
#!/bin/bash 
while read line; do 

if [[ $line =~ ^sAM ]]; then 
stuff = $(echo "$line" | cut -d\: -f2) #<-- command not found 
echo -n $stuff >> /etc/postfix/tmp-canonical 

fi 

if [[ $line =~ ^mail ]]; then 
stuff = $(echo "$line" | cut -d\: -f2) #<-- command not found 
echo -n "<tab>$stuff\n" >> /etc/postfix/tmp-canonical 

fi 

done < "$1" 
#end 

回答

0

的東西是因爲等號前的空格的解釋爲命令,而不是變量賦值。刪除空間,它應該工作。

stuff=$(echo "$line" | cut -d\: -f2) 
+0

謝謝!我感謝幫助!我看到你的答案顯示爲我發佈我的:)愚蠢的空間:) – minhamsterfish