Not sure if this should go here, but… the exec command, which should be awesome, is harmed by two things: inconsistent and un-parsable output which is brought on by the lack of separators and missing headers. I'm not 100% sure if it's a bug or a feature, but if it's the latter it's a sucky feature ;) Also not sure if I should file bugs @ sourceforge for this sort of thing, send them to the list, or both...?
First - the output of at least the user command changes if multiple similar types are included. With one user command: # cat foo user list 1 # ipmitool -H 192.168.0.23 -P calvin -U root exec foo ID Name Callin Link Auth IPMI Msg Channel Priv Limit 2 root true true true ADMINISTRATOR 3 deadbeef true true true ADMINISTRATOR With two user commands the 2nd gets its header eaten: # cat bar user list 1 user list 14 ipmitool -H 192.168.0.23 -P calvin -U root exec bar ID Name Callin Link Auth IPMI Msg Channel Priv Limit 2 root true true true ADMINISTRATOR 3 deadbeef true true true ADMINISTRATOR 2 root true true true ADMINISTRATOR 3 deadbeef true true true ADMINISTRATOR You could argue this is doing the user a favor, but it sure isn't doing me any ;) Since you could have different users on diff channels, I believe you could have something like: ch1 user ids = 2, 3, 4 ch2 user ids = 5, 6 ch3 user ids = 2, 3 If so, that's ambiguous output; it could also be parsed (for example): ch1 = 2 ch2 = 3, 4, 5, 6 ch3 = 2, 3 A second problem is that the output runs together without any separation or notion of which one produced the output. Here's a trivial example of output jammed together; where does one start and one end? # cat foo mc watchdog get mc getenables # ipmitool -H 192.168.0.23 -U root -P calvin exec foo Watchdog Timer Use: Reserved (0x00) Watchdog Timer Is: Stopped Watchdog Timer Actions: No action (0x00) Pre-timeout interval: 1 seconds Timer Expiration Flags: 0x00 Initial Countdown: 15 sec Present Countdown: 15 sec Receive Message Queue Interrupt : disabled Event Message Buffer Full Interrupt : disabled Event Message Buffer : enabled System Event Logging : enabled OEM 0 : disabled OEM 1 : disabled OEM 2 : disabled Both problems could be addressed by putting in some sort of separator between outputs - I'd advocate something that included the tool's command line as well, or else you'd need the original exec file to know what was called; perhaps something like: === mc watchdog get === […] === mc getenables === […] But there may well be far better ways. I'm not a C programmer or I might be able to propose a simple patch. dan ^..^ ------------------------------------------------------------------------------ LogMeIn Central: Instant, anywhere, Remote PC access and management. Stay in control, update software, and manage PCs from one command center Diagnose problems and improve visibility into emerging IT issues Automate, monitor and manage. Do more in less time with Central http://p.sf.net/sfu/logmein12331_d2d _______________________________________________ Ipmitool-devel mailing list Ipmitool-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ipmitool-devel