Вы могли использовать также curl
или wget
наряду с bash
выполнять то, что Вы хотите.
$ wget -O- http://example.com | grep "working fine" || mailx -s "Oh NO" you ...
Прямой способ:
vim ~/.bashrc && source $_
Вы можете сделать псевдоним:
alias vimbashrc='vim ~/.bashrc && source $_'
Это работает в bash
или zsh
. В другой оболочке вы должны использовать явное имя .bashrc
, чтобы исходный код работал:
alias vimbashrc='vim ~/.bashrc && source ~/.bashrc'
Существует крюк, с помощью которого вы можете заставить vim выполнить команду после записи файла. Например, здесь я использую его для автоматической перезагрузки rc файла vim после сохранения:
autocmd BufWritePost $MYVIMRC source $MYVIMRC
К сожалению, это совсем не поможет вам с тем, что вы хотите сделать. Это связано с тем, что команды, которые запускаются, выполняются как дочерние процессы vim. Независимо от того, что вы там делаете, родительское окружение не будет затронуто.
Что вам действительно нужно, так это что-то на уровне оболочки. Начните с просмотра того, что вы делаете:
vim ~/.bashrc
source ~/.bashrc
Но на самом деле вам нужна последняя только в случае успеха первой команды:
vim ~/.bashrc && source $_
Теперь все, что вам нужно - это удобная команда, которая облегчает ввод:
function vbrc () {
vim ~/.bashrc && source $_
}
Теперь, чтобы отредактировать свой bashrc файл, просто запустите vbrc
и он будет исходным кодом, когда вы закончите редактирование.
Другой удобной вещью для тестирования изменений в вашем bashrc будет запуск оболочки как подпроцесса в vim. Это позволит вам быстро протестировать сохраненные изменения в оболочке. Когда вы выпадаете из оболочки, вы снова редактируете файл.
:!bash
Вы даже можете подключить его к сохранённому файлу, чтобы каждый раз, когда вы сохраняете файл, он заставлял вас проверять результаты внутри живой оболочки. Очевидно, что это полезно только в контексте активной разработки вашего rc, так что вы, вероятно, захотите активировать это вручную, а не из вашего vimrc:
autocmd BufWritePost ~/.bashrc !bash