2009-07-28 3 views
1

Я хотел бы использовать псевдоним, чтобы делать некоторые команды для себя при поиске в каталогах для файлов кода, но я немного нервничаю, потому что они начинаются с «.». Вот некоторые примеры:Потенциальная опасность ALIASing команды Unix Начиная с "."?

$ alias .cpps="ls -a *.cpp"

$ alias .hs="ls -a *.h"

Должен ли я быть обеспокоены, испытывающим трудности? Кто-нибудь еще это сделал?

+1

Я не знаю никаких проблем с '.', Но, как правило, многие люди вообще не рекомендуют использовать псевдонимы и рекомендуют правильные функции оболочки. (например .cpps() {ls -a * .cpp}) –

+0

Это на самом деле имеет больше смысла. Мне бы очень хотелось узнать, как распределяется приоритет между командами в/usr/bin vs aliases vs shell. Хм ..... Спасибо за ваш ответ! – daveslab

+1

@daveslab: встроенная команда 'type' сообщит вам, что вызывается. – greyfade

ответ

2

В чем преимущество размещения точки в именах? Это кажется ненужным дополнительным характером. Я бы просто использовал базовые имена (hs и cpps) для псевдонимов.

Я полагаю, что можно утверждать, что точка указывает, что команда является псевдонимом - но почему это различие выгодно? Одна из замечательных особенностей Unix заключалась в том, что он удалил различие между освященными командами, предоставляемыми O/S, и программами, написанными пользователем. Все они равны - просто расположены в разных местах.

Я не вижу никаких реальных опасностей с использованием псевдонимов, начинающихся с точки. Мне никогда не приходило в голову попробовать; Я слегка удивлен, что им разрешено. Но, учитывая, что они разрешены, я не вижу никакого реального риска.

1

Я бы не использовал '.' для начала ваших псевдонимов, потому что он рядом с '/', и вы можете по ошибке ударить по ним и случайно запустить исполняемый файл в своем текущем каталоге (особенно если вы используете табуляцию).

+0

Какова вероятность того, что они являются командой './Cpps' в текущем каталоге - что делает какой-либо ущерб? Я не думаю, что я нащупывал точки и косые клавиши - я ошибаюсь в большом количестве вещей, но не помню, что это проблема. –

+0

Если вы компилируете исполняемые файлы, тогда может быть что-то, что начинается с «c» в текущем рабочем каталоге. Я считаю общим правилом, что если вы можете набирать быстрее, чем ваши терминальные дисплеи (например, используя laggy SSH-соединение) и использовать вкладку, например, ./c , что было бы опасностью. Я не знаю много людей, которые проводят время в раковинах, у которых нет истории ужасов, чтобы поделиться тем, когда они сделали опечатку или использовали «замену», и совершили веселый ад. – agtb

1

Я сомневаюсь, что есть какая-либо техническая проблема, хотя это может смутить любого, кто давно использовал Unix. В моем мире команды не имеют точек в них, а имена файлов не имеют пробелов или букв в верхнем регистре!

Смежные вопросы