在sh模式下执行脚本,而不是在Shell中执行bash


0

我将我的脚本添加mylovelyscript.sh/bin/文件夹中。我的脚本包含echo使用不同文本颜色显示文本的代码。但是当我运行脚本时

$ mylovelyscript

它以bash模式执行。因此,我的脚本给出了带有颜色代码的文本的输出,例如

\e[93mHello World!

但没有彩色文字。但是,当我像$ sh mylovelyscript.sh使用sh命令一样运行脚本时,它会按照我想要的方式执行。现在,我希望我的脚本给我像sh模式一样的彩色文本,但是在这种情况下,我想将我的脚本称为$ mylovelyscript,而不是$ sh mylovelyscript。我该怎么做?谢谢!

Answers:


4

将此行放在文件的开头:

#!/bin/sh

要么:

#!/bin/dash


谢谢@Wutaz!我认为它将起作用。我有一个问题,与这个问题无关:正如您所说,我切换到了sh模式,但是知道我需要将bash代码更改为sh代码,因为sh无法读取bash style代码。
Ziyaddin Sadigov 2014年

您不是说要和它一起运行sh吗?
Wutaz 2014年

不,我使用bash运行它,我需要在上运行它sh,在我的脚本中有for ... loop,我为之编写bash,我需要将其更改为shmode。
Ziyaddin Sadigov 2014年

有什么办法可以在bash模式下进行?要在bash模式下制作彩色文本?
Ziyaddin Sadigov

你说你跑了$ sh mylovelyscript.sh
Wutaz
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.