我正在从脚本执行以下命令:
echo '{"hostUp": true}' | sudo /usr/local/bin/netcat localhost 8001
但是,netcat 客户端会无限期地保持打开状态。发送此数据后如何关闭连接?
我需要通过 echo 向 graylog2 服务器发送一条消息,以测试工具的 %{@type} 是否正确,但是一旦我执行了 GELF 支持中的 echo,就不会到达我的 graylog2 服务器。如果它重新启动 graylog2,则有关它开始的消息将到达 graylog2 服务器。
回显消息示例:
echo '{"version": "1.1","host":"example.org","short_message":"A short message that helps you identify what is going on","full_message":"Backtrace here\n\nmore stuff","level":1,"_user_id":9001,"_some_info":"foo","_some_env_var":"bar"}' | nc -w 1 my.graylog.server 12201
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?graylog --debug 模式不显示任何内容。它甚至没有看到消息进来。
编辑:
Graylog2 输入是为 GELF TCP 设置的,并显示活动连接,当我尝试回显时它会升高,但没有消息到达服务器。
我需要使用回显服务器测试我的 UDP 程序。我已经在 LAN 中测试了这个应用程序,但现在我需要它在 Internet 上测试它。
是否有全球公认的免费可用的知名 ECHO 服务器,我可以直接在我的应用程序中使用?
请帮忙,谢谢....
编辑 我已经有一个基于 Java 的 Echo Server 程序,我在我的桌面上运行它并使用 Wifi 连接移动设备。现在我想检查互联网的应用程序,所以我需要一些实时服务器的 IP 端口,就像一些 IP 提供的 DayTime 服务一样。
我对以下事情感到沮丧:
0:33:1407402356:root@ahost:~# echo 'use wordpress_3_6_1; select * from wp_posts;'
| mysql -u mysqluser -pmysqlpasswdord | wc -l -L
42 40585
Run Code Online (Sandbox Code Playgroud)
SQL 查询结果被破坏得很丑陋。
PostgreSQLpsql提供了 helper 特性扩展模式。看看它在行动:
postgres@ahost:~$ echo '\c openerp7-0 \\ select * from pg_shadow' | psql
You are now connected to database "openerp7-0" as user "postgres".
usename | usesysid | usecreatedb | usesuper | usecatupd | userepl |
passwd | valuntil | useconfig
----------+----------+-------------+----------+-----------+---------+----------
-------------------------+----------+-----------
openerp | 16384 | t | t | t | t …Run Code Online (Sandbox Code Playgroud) 我正在编写一个脚本,该脚本每天动态执行一些查询。这些查询来自数据库中的一个表。
以下是查询表的示例输出:
+---------------+-------------------------------+---------+
| query_name | query | userid |
+---------------+-------------------------------+---------+
| All_User | select * from users LIMIT 10; | jmatthe |
+---------------+-------------------------------+---------+
Run Code Online (Sandbox Code Playgroud)
现在,我必须select * from users LIMIT 10;动态执行查询。我正在读取输出的每一行并存储来自输出的查询。
query_name=$(echo $query | cut -d\| -f1)
query_sql=$(echo $query | cut -d\| -f2)
query_user=$(echo $query | cut -d\| -f3)
Run Code Online (Sandbox Code Playgroud)
现在这里是问题出现的地方。因为我的行中包含一个*字符,所以echo $query扩展*以将其替换为当前目录中的文件。所以基本上,我的query_sql商店是这样的。
select batchemail.sh query_output.txt from tbl_query
Run Code Online (Sandbox Code Playgroud)
我想保留*行中的 ,以便在我的query_sql变量中得到相同的结果。我希望我的query_sql变量存储原始数据。
select * from tbl_query
Run Code Online (Sandbox Code Playgroud)
有人可以指导我吗?
mysql command-line-interface unix-shell echo shell-scripting
我正在编写一个 bash 脚本,我想回显一个字符串,但没有自动添加到末尾的换行符。阅读手册页,它说标志是-n.
问题是,当我这样做时:
echo -n "My string is here"
Run Code Online (Sandbox Code Playgroud)
bash 脚本中的输出是:
-n My string is here
Run Code Online (Sandbox Code Playgroud)
知道为什么-n输出标志而不是处理标志。
$ echo -e "test1\ntest2" > logfile
$ echo -e "test1\ntest2" >> logfile
$ cat logfile
test1
test2
test1
test2
$ rm logfile
$ crontab -e
* * * * * echo -e "test1\ntest2" >> logfile
$ sleep 160
$ cat logfile
-e test1
test2
-e test1
test2
Run Code Online (Sandbox Code Playgroud)
为什么我-e在输出中得到 ?crontab 和 bash 都在使用/bin/echo