Можно ли получить текущее время (и, возможно, дату) без использования подоболочки?
потому что если не ошибаюсь, эта команда действительно открывает подоболочку?
d=$(date)
Можно ли получить текущее время (и, возможно, дату) без использования подоболочки?
потому что если не ошибаюсь, эта команда действительно открывает подоболочку?
d=$(date)
В Bash≥4.2 вы можете использовать printf
в формате %(datefmt)T
:
printf '%(%c)T\n' -1
-1
означает сейчас.
См. ссылку на Bash в записи printf
a >.
Чтобы поместить его в переменную (и, следовательно, не использовать подоболочку):
printf -v d '%(%c)T' -1
echo "$d"