我处于混合环境中,并且已经负责为mac用户安装共享,方法是使用已经创建的批处理脚本进行Windows登录。
我有两个主要问题。
尝试从mac上的脚本中读取NETLOGON共享
尝试将这些脚本中的net use命令转换为mac可以使用的命令。
我花了大部分时间来处理将整个net use命令转换为可用于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 :(得分: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') )