linux - 为什么 ECHO 没有出现?

标签 linux sh

我有这个外壳:

===
#!/bin/sh -e

LogFile=/home/pi/logs/prova.log        # log file
test -e $LogFile || touch $LogFile     # create it if non existent

echo "(1) ======== ======== ======== Inici de PROVA.SH"     >>  $LogFile
echo "(2) ping 1.2.3.4"                                     >>  $LogFile
# ping  1.2.3.4  -W 3  -c 2                                   >>  $LogFile
echo "(3) start APP"                                        >>  $LogFile

echo "LOG file is" $LogFile
exit 0
===

输出是

1) 一行到屏幕

2) 三行文件

但是如果第 8 行 (ping 1.2.3.4) 没有注释, 第 8 行之后的“回声”没有被写入, 既不显示在屏幕上,也不显示在文件中。

我需要了解原因以及解决方法。

我想这与“ping”在另一个 shell 中运行有关, 所以“回声”写在那里。

但是我不知道怎么解决。

欢迎使用任何指向文档的指针或 URL。 塞巴斯蒂安。

最佳答案

ping -W 3 -c  2 1.2.3.4 >>  $LogFile

将 IP/主机名放在 ping 选项之后。

关于linux - 为什么 ECHO 没有出现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44064607/

相关文章:

linux - 自动应答 bash 脚本提示

bash - 不会记住在 while 循环内修改的变量

linux - 如何在本地开发中配置apache

linux - 为什么 EC2 实例在调整根 EBS 卷大小后无法正常启动?

linux + 将 sh 脚本转换为 bash + bash 是否支持以前的 sh 脚本

regex - 查找 'posix-extended' 和 'posix-egrep' 之间的命令正则表达式差异

php - 无法使用 PHP 运行 shell 脚本文件

Raspberry Pi 的 Python 脚本无法正常运行

linux - lua 和 env lua 的区别?

linux - bash 脚本来定位变量并替换下面几行引号之间的字符串