svn commit: samba r4365 - in branches/SAMBA_4_0/source/client: .
David Collier-Brown
davec-b at rogers.com
Sun Dec 26 16:06:05 GMT 2004
Andrew Bartlett wrote:
> While I can't complain about all these nice new features, I'm a bit
> worried about smbclient becoming rpcclient. That is: we made a
> decision to declare rpcclient 'developer only' feature, because it was
> becoming unmaintainable, particularly in terms of not changing for
> scripts.
>
> How do we avoid repeating that?
This doesn't address maintainability, but does make
the task of keeping scripts working much easier...
Define an option for parseable output, without
indentation, line-wrapping or other formatting
for human use.
Let it produce a line from the current data,
optionally with a reserved version number at the beginning.
For example, pvs normally produces "chatty"
output for humans on Solaris, thusly
froggy> pvs /usr/lib/libelf.so.1
libc.so.1 (SUNW_1.1, SUNWprivate_1.1);
libelf.so.1;
SUNW_1.5;
SUNW_1.4;
SUNW_1.3;
SUNW_1.2;
SUNW_1.1;
SUNW_0.7;
SUNWprivate_1.1;
But if you want it to shut up, you say
froggy> pvs -don /usr/lib/libelf.so.1
/usr/lib/libelf.so.1 - SUNW_1.5;
/usr/lib/libelf.so.1 - SUNWprivate_1.1;
... and so get output suitable for a script to parse.
With such line-oriented output you can always
1) add columns to the right, and
2) replace an obsolete columns with a "-"
For example, imagine we wanted to add an OS
release corresponding to the version number.
This might look like
froggy> pvs -don /usr/lib/libelf.so.1
/usr/lib/libelf.so.1 - SUNW_1.5 2.5.1
/usr/lib/libelf.so.1 - SUNWprivate_1.1 2.0
A shell script of the form
cat $file |\
while read path junk version rest; do
...
done
will not notice that the "rest" token now contains
a number, not just a newline.
--dave
--
David Collier-Brown, | Always do right. This will gratify
System Programmer and Author | some people and astonish the rest
davecb at spamcop.net | -- Mark Twain
More information about the samba-technical
mailing list