про ln
Опубликовано 13.05.2008 - В рубриках: Информационные технологии
Не знал что сим-линк можно формировать на базе аргументов:
% ls -l /usr/local/bin/gvim
lrwxr-xr-x 1 root wheel 3 дек 16 13:12 /usr/local/bin/gvim -> vim*
Здесь gvim – сим-линк на ‘/usr/local/bin/vim -g’.
А под линухом не пашет((. Или я что-то не так делаю?
part1zan_, сложно сказать. А что именно не пашет?
Ща…
[15:29:18] che@che-laptop:~# sudo ln -s /sbin/ifconfig -a /usr/local/bin/ifcon_a
Пароль:
ln: неверный ключ — a
Попробуйте `ln –help’ для получения более подробного описания.
[15:46:15] che@che-laptop:~# sudo ln -s ‘/sbin/ifconfig -a’ ‘/usr/local/bin/ifcon_a’
[15:46:31] che@che-laptop:~# ifcon_a
bash: ifcon_a: команда не найдена
[15:46:37] che@che-laptop:~# /usr/local/bin/ifcon_a
bash: /usr/local/bin/ifcon_a: Нет такого файла или каталога
[15:46:47] che@che-laptop:~# ls /usr/local/bin/ifcon_a
/usr/local/bin/ifcon_a
[15:46:51] che@che-laptop:~# ls /usr/local/bin/ifcon_a -l
lrwxrwxrwx 1 root root 17 Май 13 15:46 /usr/local/bin/ifcon_a -> /sbin/ifconfig -a
[15:46:58] che@che-laptop:~# sudo ln -s /sbin/ifconfig /usr/local/bin/ifcon_a
ln: создание символьной ссылки `/usr/local/bin/ifcon_a’: Файл существует
[15:47:44] che@che-laptop:~# sudo rm /usr/local/bin/ifcon_a
[15:48:03] che@che-laptop:~# sudo ln -s /sbin/ifconfig /usr/local/bin/ifcon_a
[15:48:15] che@che-laptop:~# ifcon_a
eth0 Link encap:Ethernet HWaddr 00:17:08:46:90:2F
(и т. д.)
В общем, симлинк-то создаётся, но пахать – не пашет.
part1zan_, да оно не так как-то создаваться должно, нужен видать какой-то ключ к ln, который позволит обрабатывать ключи к создаваемым сим-линкам.
Не хочу тебя расстраивать, но это не симлинк с параметром.
vim при запуске проверяет имя команды которой он был запущен, и если он был запущен как “gvim” – он включит графический режим. Можешь проверить – переименуй бинарник vim в gvim и запусти. Так многие утилиты поступают, даже BSD-шные (правда, тут в моде хардлинки)
кусок из сорцов vim:
if (TOLOWER_ASC(initstr[0]) == ‘g’ || initstr[0] == ‘k’)
{
main_start_gui();
#ifdef FEAT_GUI
++initstr;
#endif
}
techniX, а блин, ну и система извратная
Спасибо за пояснения.