Псевдонимы - умеют передавать аргументы?

Я хочу создать псевдоним в моем файле .bashrc или .bashrc_aliases (возможно, последний). В частности, я хочу вызвать команду clang для моего * .c файла, который я пишу. То, что я ищу, лучше всего подытожить, если я приведу пример:

У меня написан program1.c Я хочу иметь возможность набирать (в терминале) compile program1, и что-то вроде следующего должно быть на самом деле запущен:

clang -ggdb -std=c99 -Wall -Werror   program1.c -lcrypt -lcs50 -lm -o program1

Для тех, кто принял класс Гарварда CS50, вы узнаете это как их команду make. Так что если вышесказанное невозможно, и вы знаете другой способ сделать это, я весь слух. Я стараюсь избегать использования их виртуальных машин, поскольку мой нетбук на самом деле не в состоянии справиться с виртуальной машиной.

3
задан 24 September 2015 в 00:55

1 ответ

Нет, вы не можете передавать аргументы псевдониму. Но вы можете определить функцию:

compile() { 
  clang -ggdb -std=c99 -Wall -Werror ${1}.c -lcrypt -lcs50 -lm -o $1 ;
}

(вы можете поместить все в одну строку, если хотите, просто запишите точку с запятой в конце команды)

предназначен и является рекомендуемой идиомой, которая должна заменить псевдонимы для всех, кроме тривиальных целей.

Но, может быть, вам действительно нужен Makefile?

0
ответ дан 24 September 2015 в 00:55

Другие вопросы по тегам:

Похожие вопросы: