小编Joh*_*ohn的帖子

如何测试Linux目录是否只包含一个子目录而没有其他文件?

/bin/sh脚本中,我想检查目录是否只包含一个子目录而不包含其他文件(当然除了"."和"..").我可以解析输出ls,但我也明白这通常是一个坏主意.建议?

问题的原因:当我在zip一个文件夹上,比如一个Windows机器,我在Linux下解压缩它时,有时我会得到一个目录,其内容是原始文件夹的内容; 有时我得到一个目录只包含一个子目录,其内容是原始文件夹的内容.(我假设我zip在Windows下使用的方式有所不同,或者我使用的各种Windows机器配置略有不同,或者......谁知道?)总之,我想,在Linux方面,以大致相同的方式处理这两种结果,因此这个问题.

对于那些想"如果你的Windows端文件夹确实包含一个子目录怎么办?"的人来说,在这种情况下就好了,尽管我认为这是问题规范的一个例子.

linux sh

6
推荐指数
1
解决办法
2111
查看次数

通过理解更改列表长度

我想做这样的事情:

Input: [3, 4, 1, 2]
Output:  ["3", "", "", "4", "", "", "1", "", "", "2", "", ""]
Run Code Online (Sandbox Code Playgroud)

我知道

x = [3, 4, 1, 2]
[str(i) for i in x]
Run Code Online (Sandbox Code Playgroud)

将产生没有额外空字符串的列表.我的问题是,是否有一种简单的方法可以让Python继续为理解中的每个输入项创建3个输出项.如果没有,我当然可以写一个循环......

python list-comprehension list

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

使 UDP 广播与 wifi 路由器配合使用

我想在一个非常简单的网络上测试 UDP 广播:一个根本没有连接到互联网的旧 wifi 路由器(WRT54GS)、一个 Android 平板电脑和我的 MacBook:

[Tablet] <\/\/\/\/\/> [Wifi Router] <\/\/\/\/\/> [Macbook]
Run Code Online (Sandbox Code Playgroud)

其中波浪线表示无线连接。

Macbook 的 IP 地址为 192.168.1.101,平板电脑的 IP 地址为 192.168.1.102。路由器是192.168.1.1。

为了避免太多低级细节,我想使用 netcat 进行测试。我决定使用端口 11011,因为它很容易输入。

作为第一步,我想我应该尝试让 MacBook 上的这项功能恢复正常。在两个终端窗口中,我运行了这些程序

窗口 1:% nc -ul 11011

我首先启动了它,然后:

窗口2:% echo 'foo' | nc -v -u 255.255.255.255 11011

窗口 1 中没有任何显示。窗口 2 中的结果是这样的:

found 0 associations
found 1 connections:
     1: flags=82<CONNECTED,PREFERRED>
    outif (null)
    src 192.168.1.2 port 61985
    dst 255.255.255.255 port 11011
    rank info not available
Run Code Online (Sandbox Code Playgroud)

我相当确定我在这里遗漏了一些明显的东西。熟悉 nc 的人能发现我明显的错误吗?

udp broadcast packet netcat

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

标签 统计

broadcast ×1

linux ×1

list ×1

list-comprehension ×1

netcat ×1

packet ×1

python ×1

sh ×1

udp ×1