2012-07-02 76 views
0

我處於混合環境中,並且已經通過使用其已爲Windows登錄創建的批處理腳本來爲mac用戶掛載共享。使用網絡使用批處理文件在mac上掛載共享

我有兩個主要問題。

  1. 試圖從NETLOGON共享中的腳本讀取在Mac

  2. 試圖在這些腳本使用net use命令轉換的東西,Mac上可以使用。

我花了大部分時間來研究將整個網絡使用命令轉換爲可用於mac的東西的部分。

我開始:

IFS=' 
' 

arr=($(grep '\\' /Users/tjguidry/Desktop/tjguidry.bat | tr "[A-Z]" "[a-z]")) 

與預期陣列是這樣的(基於文件我已經有):

net use n: \\domain\dfs1\share1 /persistent:no 
net use r: \\domain\dfs1\share2 /persistent:no 
rem net use o: \\domain\dfs1\share3 /persistent:no 
rem net use p: "\\domain\dfs1\share4" /persistent:no 

grep命令做什麼它應該做單在終端 但是,當我輸出數組時,\ domain中的第一個斜槓被切斷,對於以字母「a」開頭的一些股票(即\ domain \ dfs1 \ admin),它會切斷「\ a」輸出。 所以不是我得到:

net use n: \domain\dfs1\share1 /persistent:no 
net use r: \domain\dfs1\share2 /persistent:no 
rem net use o: \domain\dfs1hare3 /persistent:no 
rem net use p: "\domain\dfs1hare4" /persistent:no 

我也似乎無法削減的「\\」,試圖擺脫字符串的第一個看跌期權的,無論我如何努力逃脫斜線。

理想情況下,我想將輸出轉換爲像這樣的smb:// domain/dfs1/share1,以便mac能夠掛載它。

+0

我建議放置在一個普通的txt文件的共享/服務器信息與該文件中儘可能少的語法越好。然後爲解析該文件的每個平臺分別創建一個腳本。 Bash解析一個windows腳本看起來就像一個kludge,它創建了對這些windows腳本的依賴。 –

+0

我們已經對它們有很大的依賴性。此外,我將這作爲一個項目要求給了我,可悲的是,由於我不是「管理人員」,所以我不能改變這些。 –

回答

0

這似乎是正確處理文件輸入:

IFS=' 
' 
arr=($(grep '\\' /Users/tjguidry/Desktop/tjguidry.bat | tr "[A-Z]" "[a-z]" | sed s:\"::g | sed s:\\\\:\/:g | sed 's|/persistent:no||g' | sed 's|net use [a-z]: ||g'))