在/bin/sh脚本中,我想检查目录是否只包含一个子目录而不包含其他文件(当然除了"."和"..").我可以解析输出ls,但我也明白这通常是一个坏主意.建议?
问题的原因:当我在zip一个文件夹上,比如一个Windows机器,我在Linux下解压缩它时,有时我会得到一个目录,其内容是原始文件夹的内容; 有时我得到一个目录只包含一个子目录,其内容是原始文件夹的内容.(我假设我zip在Windows下使用的方式有所不同,或者我使用的各种Windows机器配置略有不同,或者......谁知道?)总之,我想,在Linux方面,以大致相同的方式处理这两种结果,因此这个问题.
对于那些想"如果你的Windows端文件夹确实只包含一个子目录怎么办?"的人来说,在这种情况下就好了,尽管我认为这是问题规范的一个例子.
我想做这样的事情:
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个输出项.如果没有,我当然可以写一个循环......
我想在一个非常简单的网络上测试 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 的人能发现我明显的错误吗?