さて、あなたが提供するコマンドラインから始めるのはぎこちないです:
$ alias do "grep -iE '' | awk '{if($2 < 0)print}'"
bash: alias: do: not found
bash: alias: grep -iE '' | awk '{if( < 0)print}': not found
私があなたが言っていると思うものにそれを修正すると、私はこれを見る:
$ alias do="grep -iE '' | awk '{if($2 < 0)print}'"
$ alias do
alias do='grep -iE '\'''\'' | awk '\''{if( < 0)print}'\'''
これにより、解析エラーが発生する理由を確認できます。$ 2は、awk
これまでに見たことがないほどシェルに食べられています。代わりにこれを試してください:
$ alias do="grep -iE '' | awk '{if(\$2 < 0)print}'"
$ alias do
alias do='grep -iE '\'''\'' | awk '\''{if($2 < 0)print}'\'''
私の推測では、この時点では、解析エラーは発生しなくなります。(入力として何を使用しているのかわからないので、当然、これについては話すことができません。)