linux bash script: set date/time variable to auto-update (for inclusion in file names)

Posted by user1859492 on Stack Overflow See other posts from Stack Overflow or by user1859492
Published on 2012-11-28T10:57:06Z Indexed on 2012/11/28 11:03 UTC
Read the original article Hit count: 172

Filed under:
|
|
|
|

Essentially, I have a standard format for file naming conventions. It breaks down to this:

target_dateUTC_timeUTC_tool

So, for instance, if I run tcpdump on a target of 'foo', then the file would be foo_dateUTC_timeUTC_tcpdump. Simple enough, but a pain for everyone to constantly (and consistently) enter... so I've tried to create a bash script which sets system variables like so:

FILENAME=$TARGET\_$UTCTIME\_$TOOL

Then, I can just call the variable at runtime, like so:

tcpdump -w $FILENAME.lpc

All of this works like a champ. I've got a menu-driven .sh which gives the user the options of viewing the current variables as well as setting them... file generation is a breeze. Unfortunately, by setting the date/time variable, it is locked to the value at the time of creation (naturally). I set the variable like so:

UTCTIME=$(/bin/date --utc +"%Y%m%d_%H%M%Z")

What I really need is either a way to create a variable which updates at runtime, or (more likely) another way to skin this cat.

While scouring for solutions, I came across a similar issues... like this.

But, to be honest, I'm stumped on how to marry the two approaches and create a simple, distributable solution. I can post the entire .sh if anyone cares to review (about 120 lines)

© Stack Overflow or respective owner

Related posts about bash

Related posts about variables