小编U. *_*ndl的帖子

在接受 TCP 连接之前是否可以检查对等地址?

我编写了一个简单的 Perl 服务器,它侦听 TCP 端口/套接字并接受连接。现在我想知道:

当想要实现基于地址的访问控制时,是否可以在接受连接之前检查请求连接的对等方的地址?

如果可能的话,我可以拒绝连接请求(我希望),而不是接受连接并立即再次关闭它。

perl tcp socket

4
推荐指数
2
解决办法
1445
查看次数

如何连接文件,排除空文件?

我需要将很多.txt文件粘贴在一起。我使用这个命令:

cat *.txt > newfile.txt 
Run Code Online (Sandbox Code Playgroud)

我注意到其中一些文件是空的。如何在脚本中插入控件以防止该控件cat作用于这些空文件?

谢谢你。

linux bash shell-script

3
推荐指数
1
解决办法
197
查看次数

在 bash 中:变量替换中的尾随空格捕获

我在 BASH 4.3.48 (SLES12 SP4) 和 BASH 4.4.23 (OpenSUSE Leap 15.1) 中尝试从变量值中删除多个尾随空格时看到了这一点:

~> xxx="-O -Wall  "
~> echo "X${xxx%% }X"    # (1)
X-O -Wall X
~> echo "X${xxx%% *}X"
X-OX
~> echo "X${xxx% }X"
X-O -Wall X
~> echo "X${xxx% *}X"    # (2)
X-O -Wall X
~> echo "X${xxx%% \*}X"
X-O -Wall  X
Run Code Online (Sandbox Code Playgroud)

我觉得要么(1)或者(2)应该做这份工作。

手册规定${parameter%%word}

删除匹配的后缀模式。这个词被扩展以产生一个模式,就像在路径名扩展中一样。如果模式匹配参数扩展值的尾随部分,则扩展的结果是具有最短匹配模式(“%”情况)或最长匹配模式(“%”)的参数扩展值%'' 大小写)已删除。

由于它不像文档那样工作(或者我理解文档),我怀疑这是一个错误(在 BASH 的-Wall情况下,将删除不匹配的后缀(“ ”)%% *。我对吗?

bash variable-substitution

0
推荐指数
1
解决办法
272
查看次数

Bash 脚本打印表达式而不是结果

我正在尝试计算参数数量与客户提供的第一个参数的乘积。这里参数是 10、15,所以参数总数是 2。现在我希望 shell 执行 2*10(因为 10 是第一个参数)。我得到的不是答案,而是代码。

我写的程序:

r=$(echo "$1 \* $#")
echo "Following are the numbers you entered $@ "
echo "first number : $1. and second number: $2."
echo "total number of entered numbers: $#"
echo "expected result: $r"
Run Code Online (Sandbox Code Playgroud)

结果:

root@LAPTOP-J:~# bash test.sh 10 15
Following are the numbers you entered 10 15
first number : 10. and second number: 15.
total number of entered numbers: 2
expected result: 10 \* 2
root@LAPTOP-J5JNFL7K:~#
Run Code Online (Sandbox Code Playgroud)

bash programming shell-script

0
推荐指数
1
解决办法
605
查看次数