Я хотел бы использовать временные метки для протоколирования выходов в файле сценария.создание метки эха/не может использовать pipe в строке эха
На консоли
дата +% Y% м% D_% H% M% S_% N
печатает что-то вроде "20120206_104531_944652200"
Для того, чтобы сократить все те nano и mikro секунды, которые я нашел
дата +% Y% m% d_% H% M% S_% N | SED s "\ {6 \} $" ,,
, который дает мне что-то вроде "20120206_104531_944"
В файл_сценария это, кажется, несколько иначе. Временная метка должна быть оценивается каждый раз выход для регистрации.
Это scriptcode работы:
#!/usr/bin/bash
log_prefix1="date +%Y%m%d_%H%M%S_%N"
echo "`${log_prefix1}` blabla"
sleep 3
echo "`${log_prefix1}` blabla"
К сожалению, я не нашел способ, чтобы получить это работает только с 3-х самых значащих цифр в наносекунд.
Это scriptcode не работает:
#!/usr/bin/bash
log_prefix="date +%Y%m%d_%H%M%S_%N | sed s,\".\{6\}$\",,"
echo "`${log_prefix}` blabla"
sleep 3
echo "`${log_prefix}` blabla"
Я получаю следующее сообщение об ошибке:
date: extra operand `|'
Try `date --help' for more information.
Итак, что-то пойдет не так с трубой, чтобы СЭД во время выполнения.
Любые идеи?
'$ *' не DWIM-совместимый; например, попробуйте строки с несколькими последовательными символами пробела. Вместо этого используйте '' $ @ "'. – l0b0
Хорошая точка, обновленная – Mat