2016-06-02 20:28 GMT+02:00 Otto Moerbeek <o...@drijf.net>:
> On Thu, Jun 02, 2016 at 08:08:19PM +0200, Frans Haarman wrote:
>
>> I got tired of typing hostname so came up with this little tweak. Now
>> atleast I have some tab completion.
>>
>> Maybe useful for some ?  Do you have a differnt approach ?
>>
>> Regards,
>> Frans
>>
>>
>>
>> # cd /etc/interface/
>> # ls -la
>> total 12
>> drwxr-xr-x   2 root  wheel   512 Jun  2 19:51 .
>> drwxr-xr-x  23 root  wheel  1536 Jun  2 19:42 ..
>> -rw-r--r--   1 root  wheel   144 Jun  2 19:47 .mklink
>> lrwxr-xr-x   1 root  wheel    21 Jun  2 19:47 bridge0 -> 
>> /etc/hostname.bridge0
>> lrwxr-xr-x   1 root  wheel    21 Jun  2 19:47 vether0 -> 
>> /etc/hostname.vether0
>> lrwxr-xr-x   1 root  wheel    23 Jun  2 19:47 vether247 ->
>> /etc/hostname.vether247
>> lrwxr-xr-x   1 root  wheel    22 Jun  2 19:47 vlan2470 -> 
>> /etc/hostname.vlan2470
>> lrwxr-xr-x   1 root  wheel    18 Jun  2 19:47 vmx0 -> /etc/hostname.vmx0
>> lrwxr-xr-x   1 root  wheel    18 Jun  2 19:47 vmx1 -> /etc/hostname.vmx1
>> #
>>
>> # cat .mklink
>> #!/bin/sh
>>
>> interfaces=`ls -1 /etc |grep "hostname.*" | sed 's/hostname\.//g' `
>> for int in $interfaces; do
>>         ln -s /etc/hostname.$int $int
>> done
>>
>> # vi /etc/interface/
>> bridge0    vether0    vether247  vlan2470   vmx0       vmx1
>> # vi /etc/interface/v
>> vether0    vether247  vlan2470   vmx0       vmx1
>> # vi /etc/interface/vether
>> vether0    vether247
>> # vi /etc/interface/vether247
>
> I do not think this script is very useful but on the subject matter
> of shell scripting you need to learn about shell expansions and
> substitutions:
>
> Something like:
>
> for i in /etc/hostname.*; do
>  ln -sf /etc.hostname.$i ${i#/etc/hostname.}
> done
>
> (untested)
>
>         -Otto
>

Indeed I do! :)  so this works:

for i in /etc/hostname.*; do
        ln -sf $i ${i#/etc/hostname.*}
done

That looks so much better!  I'll go do some homework.

Regards,
Frans

Reply via email to