我想用 unix 脚本创建 maildirs,所以问题是如何像本例中那样创建目录:
example.com/j/o/h/john-2011.04.07.09.35.49/
如果我只有三个参数 - 邮件服务器 (example.com) 和用户名 (john) 以及时间,我不知道如何为 unix 脚本制作“拆分部分”,如何提取用户名 john 的前三个字母,如上例所示。提前谢谢您!
答案1
在 bash 中,可以使用${}
子字符串匹配从字符串中获取单个字母:
coredump@anita:~$ x="john"; echo ${x:0:1}
j
coredump@anita:~$ x="john"; echo ${x:1:1}
o
coredump@anita:~$ x="john"; echo ${x:2:1}
h
因此,您可以在脚本中将这些字母分配给变量,并在命令中使用它mkdir
来创建目录结构,我想是这样的:
FIRST=${USERNAME:0:1}
SECOND=${USERNAME:1:1}
THIRD=${USERNAME:2:1}
mkdir $SERVER/$FIRST/$SECOND/$THIRD/${USERNAME}-${DATE}/