[clug] Pointless time-wasting bash questions

Scott Ferguson scott.ferguson.clug at gmail.com
Thu Jun 25 06:15:44 MDT 2015


On 25/06/15 21:44, Eyal Lebedinsky wrote:
> On 25/06/15 19:29, Scott Ferguson wrote:
>> Messing with bracket contractions.
>>
>> *1*.
>> cp Kernel/Config/GenericAgent.pm.dist Kernel/Config/GenericAgent.pm
>> I can shorten the process with:-
>> cp Kernel/Config/GenericAgent.pm{.dist,}
>>
>> *2*. likewise
>> cp Kernel/Config.pm.dist Kernel/Config.pm
>> I can shorten the process with:-
>> cp Kernel/Config.pm{.dist,}
>>
<snipped>
> 
> Really? 

No.   :D
> cp with four arguments does what when the last one is not a
> directory?

Good catch Eyal!

It was an interview question (not mine). I don't know what the correct
answer is - the first two example are similar to the two processes that
are meant to be combined into "a single command using only cp and bash
builtins". The interviewee doesn't recall whether the question was to
find "the shortest way" - or "the fastest way". (he also said the
interviewers spent the entire test ignoring him while giggling and
browsing on their laptops)

That's "a single command" - not a "single-line command". The OS was a
recent Ubuntu.

I 'thought' I was on the path to the answer until I tested it. The
cricket bat and ball question was much easier.

Someone else who interviewed successfully and was asked similar
questions said it does use brackets - but wouldn't elaborate. I'm not
convinced there is a right/best answer but it's no less annoying (and
no, I'm not trying for the position, just curious as I seriously could
use the answer for various tasks).

Both people are adamant only cp and bash builtins were allowed. I tried
xargs anyway because it's been bugging me for days, but couldn't work
out how to solve it that way either.


<snipped>

>>
>> Any dangers I may have overlooked?
> 
> Well, in general, and expansion (meaning not an explicit list) hides the
> possibility of unexpected results...

Agreed, though obfuscation does have it's charms. For actual use, *if*
it worked, it 'might' not be portable.

<snipped>

Thanks for giving it thought. (I did warn it was pointless time-wasting)


Kind regards


More information about the linux mailing list