У меня есть идея, что я хотел бы добавить переменную среды ("waitTillReady") к моему ~/.bashrc файл, такой что вместо того, чтобы делать это:
while [ "$(pidof -s make)" -o "$(pidof -s gcc)" -o "$(pidof -s ld)" ]; do echo "Still compiling..." && sleep 1; done && printf "\n%.0s" {1..20} && date && echo "THINGS ARE READY FOR YOU NOW..."
Я хочу смочь сделать это: $waitTillReady && echo "THINGS ARE READY FOR YOU NOW..."
Я пытался отредактировать свой ~/.bashrc файл как с различными комбинациями следующего:
...
export waitTillReady="while [ "$(pidof -s make)" -o "$(pidof -s gcc)" -o "$(pidof -s ld)" ]; do echo "Still compiling..." && sleep 1; done && printf "\n%.0s" {1..20} && date"
...
Например, Я пытался включить все инсайдер одинарная кавычка, 'и я пытался выйти \" в середине... Кто-либо мог помочь и сказать то, что я должен записать в ~/.bashrc файлу после "экспорта waitTillReady =" строка?
Я был бы благодарен услышать любые предложения/идеи (и возможно объяснение того, что я делаю неправильно), Спасибо!
Если синтаксис был правилен, export
выполнил бы Ваш код только однажды, когда Ваш терминал запускает и устанавливает результат как переменную среды, которую можно назвать использованием $waitTillReady
.
Вам нужно alias
или возможно более легкий a shell function
.
Вставьте это Ваш .bashrc
:
waitTillReady() {
while pgrep '^(make|gcc|ld)$' &>/dev/null; do
echo "Still compiling..." && sleep 1
done && printf "\n%.0s" {1..20} && date
}
Затем после затем запускаются Вашего терминала, можно использовать его как он, была команда:
waitTillReady; do_something