- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
一切正常。但它给出了一个错误。我无法解决它。
try.sh:
#!/bin/sh
website="http://lastofdead.xyz"
ipaddress=$( ifconfig | grep -v 'eth0:' | grep -A 1 'eth0' | \
tail -1 | cut -d ':' -f 2 | cut -d ' ' -f 1)
mlicense=$(curl -s $website/lodscript/special/lisans.php?lisans)
if [ "$mlicense" = "$ipaddress" ];
then
echo "Positive"
else
echo "Negative"
fi
lisans.php:
<?php
if(isset($_GET['lisans'])) {
echo "188.166.92.168" . $_GET['lisans'];
}
?>
结果:
root@ubuntu:~# bash -x s.sh
+ website=http://lastofdead.xyz
++ cut -d ' ' -f 1
++ cut -d : -f 2
++ tail -1
++ grep -A 1 eth0
++ grep -v eth0:
++ ifconfig
+ ipaddress=188.166.92.168
++ curl -s 'http://lastofdead.xyz/lodscript/special/lisans.php?lisans'
+ mlicense=188.166.92.168
+ '[' 188.166.92.168 = 188.166.92.168 ']'
+ echo Negative
Negative
最佳答案
哦,非常感谢您发布代码。好吧,我自己试着看看这两个字符串之间的差异,结果发现问题出在一个叫做 Byte Order Mark (BOM) 的东西上。 .有关此的更多信息,请参阅此答案:https://stackoverflow.com/a/3256014 .
curl 返回的字符串,当将其通过管道传输到十六进制转储时,显示如下:
$ curl -s 'http://lastofdead.xyz/lodscript/special/lisans.php?lisans'
188.166.92.168
$ curl -s 'http://lastofdead.xyz/lodscript/special/lisans.php?lisans' | xxd -c 17 -g 1 -u
0000000: EF BB BF 31 38 38 2E 31 36 36 2E 39 32 2E 31 36 38 ...188.166.92.168
你能看到他们吗? 0xEF,0xBB,0xBF
这三个字节是 BOM 的 UTF-8 表示形式,这就是使字符串不同的原因。上面链接的问题页面显示了一些剥离它的方法,例如使用 grep
,或者您可以将 curl 输出通过管道传输到 cut -c 2-
,或者甚至通过简单的替换在 curl
行之后:mlicense="${mlicense:1}"
。而且,为了确保我们剥离的是 BOM,我们可以使用两行替换:bom="$(echo -en '\xEF\xBB\xBF')"; mlicense="$(echo -n "${mlicense#${bom}}")"
,甚至将它们合二为一:mlicense="$(echo -n "${mlicense#$ (echo -en '\xEF\xBB\xBF')}")"
.
关于php - shell - 代码正确,但不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42468828/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!