Unix。Shell脚本
我有一个脚本,它为我的项目的其余部分打印出一个表。然而,我的项目运作良好。当我使用脚本时,它会在gui界面上打印出两个错误。我没有安装banner命令或sudo来使用这些图形界面Unix。Shell脚本,shell,unix,Shell,Unix,我有一个脚本,它为我的项目的其余部分打印出一个表。然而,我的项目运作良好。当我使用脚本时,它会在gui界面上打印出两个错误。我没有安装banner命令或sudo来使用这些图形界面 #!/bin/bash Welcome() { echo " |-------------------------- | Red Hat | | Enterprise Linux | | | | Server
#!/bin/bash
Welcome()
{
echo
"
|--------------------------
| Red Hat |
| Enterprise Linux |
| |
| Server Release 5.3 |
| Codename Tikanga |
----------------------------
"
}
Welcome
但是它打印出了这个
working: line 129:
|--------------------------
| Red Hat |
| Enterprise Linux |
| |
| Server Release 5.3 |
| Codename Tikanga |
----------------------------
: command not found
而不仅仅是
|--------------------------
| Red Hat |
| Enterprise Linux |
| |
| Server Release 5.3 |
| Codename Tikanga |
----------------------------
在shell脚本中,命令以行尾结束。所以你有一个
echo
它打印一个空行,后面是几行胡言乱语,shell试图将这些胡言乱语解释为它找不到的命令。因此,错误消息是由shell打印的,而不是脚本的回显
现在想在解决方案中进行编辑,但anubhava抢先完成了。他的解决方案之所以有效,是因为行尾位于由“”开始的字符串内,因此包括换行符在内的整个字符串都被解释为echo命令的一部分。您需要使用:
echo '
|--------------------------
| Red Hat |
| Enterprise Linux |
| |
| Server Release 5.3 |
| Codename Tikanga |
----------------------------'
基本上在同一行的echo之后开始报价