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

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

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

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

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

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

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

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

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

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