首页 > 解决方案 > 当正文是同一行时,Bash 功能不起作用

问题描述

和有什么区别

function searchGitAliases() {
   found=$(cat ~/aliases/.gitAliases| sed -e 's/alias //g' -e 's/function //g' -e 's/=.*//g' -e 's/()//g' -e 's/{.*//g' | sort -r -u | fzf) && eval ${found}
}

function searchGitAliases(){ found=$(cat ~/aliases/.gitAliases | sed -e 's/alias //g' -e 's/function //g' -e 's/=.*//g' -e 's/()//g' -e 's/{.*//g' | sort -r -u | fzf) && eval ${found} }

第一个工作没有问题,第二个没有。

当我在 shell 中运行它时,它需要另一个右括号

function searchGitAliases(){ found=$(cat ~/aliases/.gitAliases | sed -e 's/alias //g' -e 's/function //g' -e 's/=.*//g' -e 's/()//g' -e 's/{.*//g' | sort -r -u | fzf) && eval ${found} }
> }

我看不出它们之间有什么区别,除了第一个在不同的线上,而第二个的身体在同一线上。这在 bash 中重要吗?

注意:两者都在 zsh 中工作。

标签: bashfunctionshellzsh

解决方案


推荐阅读