[英]How can I make an alias for this command piping docker-compose logs -f into less?
我有一個工作命令,我想為其創建別名,但似乎不知道該怎么做。 工作命令是
docker-compose logs -f | less -S -R +F
這工作正常,基本上從日志中刪除自動換行。
需要注意的是,在使用它時,我還希望能夠有選擇地向中間添加參數,以指定要尾隨的特定服務。 制作最終看起來像這樣的東西
docker-compose logs -f service1 service2 etc... | less -S -R +F
為了能夠做到這一點,我想我可以使用xargs -I
傳入可變數量的參數並將它們注入命令的中間。 但是我對 bash 的技能非常有限,所以無論我如何擺弄它,我似乎都無法讓它發揮作用,並且我確信我遺漏了某些/某些概念。
我在發布之前嘗試的別名的最后一次迭代是
alias logsx="xargs -I{} bash -c 'docker-compose logs -f \"{}\" | less -S -R +F'"
當您運行時,它似乎啟動less
但沒有將 docker 日志傳送到那里。
任何幫助將不勝感激。 謝謝!
你所需要的只是一個函數。
logsx() {
docker-compose logs -f "$@" | less -S -R +F
}
"$@"
將擴展給定的參數。 所以你寫了logsx service1 service2
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.