
На этот вопрос, вероятно, очень легко ответить, но мне не удалось найти ни одного вопроса, в котором уже задавался бы этот вопрос, из-за различий в формулировках при написании заголовков.
Запуск help alias
моей командной строки bash возвращает только это:
alias: alias [-p] [name[=value] ... ]
Затем очень короткий текст, не имеющий никакого отношения к тому, о чем я спрашиваю.
Я также попробовал:
help function
Но и это не дало мне много информации.
Например:
alias mancat="man command | cat"
Чтобы я мог запустить mancat grep
, что было бы эквивалентно man grep | cat
.
Я знаю, что это называется переменными, но они не определены, и я хотел бы иметь возможность изменять их в любое время, как при запуске моей команды-примера.
решение1
Вам нужно использовать функцию, а не псевдоним, так что
mancat () { man "$1" | cat ; }
mancat grep
сделаю то, что вы хотите.
Сходным образом
mygrep () { "$1" "$3" "$2" | "$1" -v "$4" | "$5" -n1; }
mygrep grep pattern1 file pattern2 head
mygrep grep pattern1 file pattern2 tail
будет grep
for pattern1
в file
и затем выберет только строки, которые не совпадают pattern2
( grep -v
), а в конце выберет только первую (или последнюю) строку.