# mdconfig -a -t malloc -o compress -o reserve -s 512m -u 7
# newfs -U /dev/md7
# mount /dev/md7 /mnt/ramdrive
Для полноты картины вам не нужны ни все эти ("), ни последний $ (echo ...)
. { {1}} Вот упрощенная версия ваших назначений, которые производят тот же эффект
:
STARTIME=$(date +"%T")
ENDTIME="$STARTIME today + 10 seconds"
CALL="date -d '$ENDTIME' +'%H:%M:%S'"
Обратите внимание, что вам не нужно цитировать, когда вы выполняете var = $ (...), но обычно вы это делаете {{ 1}} с var = "many words":
a=$(echo 'a b'); echo "$a" # result: a b
Внутри (") a (') не имеет особого значения, и наоборот, например:
a="that's nice"; echo "$a" # result: that's nice
a='that "is nice'; echo "$a" # result: that "is nice
Вы можете отредактировать оператор вызова следующим образом:
CALL="$(echo date -d \"$ENDTIME\" +\'%H:%M:%S\')"
\
можно использовать для экранирования символов «
и '
. Теперь echo $ CALL
будет выводиться как:
date -d "22:46:37 today + 10 seconds" +'%H:%M:%S'
Поместите одинарные кавычки в двойные кавычки ENDTIME
], например так:
ENDTIME="'$STARTIME today + 10 seconds'"
CALL="$(echo date -d "$ENDTIME" +'%H:%M:%S')"
Она должна дать
date -d '19:35:28 today + 10 seconds' +%H:%M:%S