Я хочу создать maildirs с помощью скрипта unix, поэтому вопрос в том, как создать каталог, как в этом примере:
example.com/j/o/h/john-2011.04.07.09.35.49/
если у меня есть только три аргумента - почтовый сервер (example.com) и имя пользователя (john) и время, я не знаю, как сделать эту «разделенную часть» для скрипта unix, как извлечь первые три буквы для имени пользователя john, как в примере выше . Заранее спасибо!
В 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}/