Shell 转义字符在gnome外壳中不起作用

Shell 转义字符在gnome外壳中不起作用,shell,terminal,gnome-terminal,Shell,Terminal,Gnome Terminal,如果我在自己的终端中使用 sh projectbingo.sh 它显示为: Hello World hi 当我运行以下代码时: gnome-terminal --window-with-profile=tushar -x ./projectbingo.sh 一个新的终端弹出,但显示: ./projectbingo.sh: line 3: $'\E[H\E[2J': command not found ./projectbingo.sh: line 23: $'\E[H\E[2J

如果我在自己的终端中使用

  sh projectbingo.sh 
它显示为:

Hello World

hi
当我运行以下代码时:

 gnome-terminal  --window-with-profile=tushar -x ./projectbingo.sh
一个新的终端弹出,但显示:

./projectbingo.sh: line 3: $'\E[H\E[2J': command not found
./projectbingo.sh: line 23: $'\E[H\E[2J': command not found
./projectbingo.sh: line 77: $'\E[H\E[2J': command not found
Got bus address:  "unix:abstract=/tmp/dbus-  3G1IPFUIn6,guid=85293fb9a05e2828c07c371800000364" 
Connected to accessibility bus at:  "unix:abstract=/tmp/dbus-    3G1IPFUIn6,guid=85293fb9a05e2828c07c371800000364" 
 Registered DEC:  true 
./projectbingo.sh: line 79: $'\E[H\E[2J': command not found  
Got bus address:  "unix:abstract=/tmp/dbus-3G1IPFUIn6,guid=85293fb9a05e2828c07c371800000364" 
Connected to accessibility bus at:  "unix:abstract=/tmp/dbus-3G1IPFUIn6,guid=85293fb9a05e2828c07c371800000364" 
Registered DEC:  true 
./projectbingo.sh: line 82: $'\E[H\E[2J': command not found
./projectbingo.sh: line 107: $'\E[H\E[2J': command not found
Got bus address:  "unix:abstract=/tmp/dbus-3G1IPFUIn6,guid=85293fb9a05e2828c07c371800000364" 
Connected to accessibility bus at:  "unix:abstract=/tmp/dbus-3G1IPFUIn6,guid=85293fb9a05e2828c07c371800000364" 
Registered DEC:  true 
./projectbingo.sh: line 110: $'\E[H\E[2J': command not found
./projectbingo.sh: line 116: $'\E[H\E[2J': command not found
 Hello World\n\nhi

请帮忙

这不是一个终极问题。我怀疑有空壳问题

具体来说,
$'…
符号是特定于bash的扩展,但是您只是通过
sh
而不是
bash
来运行脚本,因此它不适用

尝试将脚本中的shebang行更改为

#!/bin/bash

这不是壳牌公司特有的问题。我不知道为什么会发生。。。但是当我使用

   echo -e "Hello World\nHi"
它起作用了 但当我尝试运行sh projectbingo.sh时,它显示了

-你好,世界 嗨


所以我的问题解决了,但导致新问题的出现

echo
是一个内置的shell,
-e
部分是非标准的。同样,应该通过将shell作为
bash
而不是
sh
运行来解决这个问题。