我想测试一个目录是否不包含任何文件。如果是这样,我将跳过一些处理。
我尝试了以下方法:
if [ ./* == "./*" ]; then
echo "No new file"
exit 1
fi
Run Code Online (Sandbox Code Playgroud)
这给出了以下错误:
line 1: [: too many arguments
Run Code Online (Sandbox Code Playgroud)
有解决方案/替代方案吗?
很多答案只有 Vagrant 文件配置的适用版本 1。例如
config.vm.network :hostonly, :adapter => 2
Run Code Online (Sandbox Code Playgroud)
新的public network不支持此功能。例如这里的这一行
config.vm.network "public_network", bridge: 'vboxnet0'
Run Code Online (Sandbox Code Playgroud)
会抛出错误,因为vboxnet0不是像en0. 这是一个屏幕截图:

我也试过
config.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--hostonlyadapter2", "vboxnet0"]
Run Code Online (Sandbox Code Playgroud)
但是对虚拟机没有影响。
如何创建这样的新界面?

我在用
我正在尝试在 2016 年 MacBook Pro 15" 上运行的 macOS High Sierra (10.13.6 (17G65)) 上从 VirtualBox (5.2.18 r124319 (Qt5.6.3)) 启动一个 Ubuntu(64 位)Linux VM
最近使用我的 Time Machine Backup 恢复了有问题的 MacBook Pro。我在原始 MacBook Pro 上启用了 FileVault。
这是错误对话框的图像:
正文是:
未安装内核驱动程序 (rc=-1908)
确保内核模块已成功加载。
其中: suplibOsInit 内容: 3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) - 未安装支持驱动程序。在 linux 上,打开返回 ENOENT。
我在设置 Linux VM 时启用了磁盘级加密。
这是 VM 的更多详细信息
这是我从 system.log 中获取的
Sep 26 10:15:44 konga-mbp-loaner com.apple.xpc.launchd[1] (org.virtualbox.startup[95]): Service exited with abnormal code: 1
Run Code Online (Sandbox Code Playgroud)
在 Linux VM 启动失败后我尝试了什么:
我想读取 pom.xml(Maven 的“项目对象模型”)并提取版本信息。下面是一个例子:
<?xml version="1.0" encoding="UTF-8"?><project
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany</groupId>
<artifactId>project-parent</artifactId>
<name>project-parent</name>
<version>1.0.74-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.sybase.jconnect</groupId>
<artifactId>jconnect</artifactId>
<version>6.05-26023</version>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>1.5.2</version>
</dependency>
<dependency>
<groupId>com.sun.jdmk</groupId>
<artifactId>jmxtools</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>2.4</version>
</dependency>
</dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)
如何从上面提取版本“1.0.74-SNAPSHOT”?
希望能够使用简单的 bash 脚本 sed 或 awk 来做到这一点。否则首选简单的python。
编辑
约束
linux box 在公司环境中,所以我只能使用已经安装的工具(不是说我不能请求诸如 xml2 之类的实用程序,但我必须经历很多繁文缛节)。一些解决方案非常好(已经学习了一些新技巧),但由于环境限制,它们可能不适用
更新的 xml 列表
我在原始列表中添加了依赖项标签。这将显示一些 hacky 解决方案在这种情况下可能不起作用
发行版
我使用的发行版是 RHEL4
在IE浏览器中,我可以在MS上搜索并找到以下站点:
但是,当我单击“立即尝试”时,会收到以下提示:
然后这条消息:
我还检查了“添加和删除程序”,但我无法找到 Edge。
有没有一种简单的方法可以将 Edge 安装到 Window Server 2016?
是否可以使用wmic或powershell找出进程运行了多长时间?
如果没有,是否还有其他方法可以从 Windows 操作系统获取此信息?
以下是我想作为 bash 脚本的一部分运行的 python one-liner
python -c "from xml.dom.minidom import parse;dom = parse('/path/to/pom.xml');print [n.firstChild.data for n in dom.childNodes[0].childNodes if n.firstChild and n.tagName == 'version']"
Run Code Online (Sandbox Code Playgroud)
(pom.xml 是一个 maven POM xml 文件)
我想将命令的结果分配给变量MVN_VER
这是我的基本脚本:
WS="/path/to"
PY_GET_MVN_VERS="from xml.dom.minidom import parse;dom = parse(\'${WS}/pom.xml\')\;print [n.firstChild.data for n in dom.childNodes[0].childNodes if n.firstChild and n.tagName == \'version\']"
funcion test_mvn {
MVN_VER=`python -c \"${PY_GET_MVN_VERS}\"`
echo ${MVN_VERS}
}
test_mvn
Run Code Online (Sandbox Code Playgroud)
但是它无法运行。如果我使用 +x 选项运行脚本,我会看到:
++ python -c '"from' xml.dom.minidom import 'parse;dom' = 'parse(\'\''/path/to/pom.xml\'\'')\;print' '[n.firstChild.data' for n in 'dom.childNodes[0].childNodes' if n.firstChild …Run Code Online (Sandbox Code Playgroud) 我创建了一个像这样的 venv:
python3 -m venv .venv
Run Code Online (Sandbox Code Playgroud)
当我激活它时,shell 提示符会改变。
antkong@konga-mbp ~/dev/my-project (git-branch-name)
$ source .venv/bin/activate
(.venv) konga-mbp:my-project antkong$
Run Code Online (Sandbox Code Playgroud)
如何保持提示相同?
操作系统是WinXP SP3。
这是我的 cygwin dll 信息:
Cygwin DLL version info:
DLL version: 1.7.5
DLL epoch: 19
DLL old termios: 5
DLL malloc env: 28
Cygwin conv: 181
API major: 0
API minor: 225
Shared data: 5
DLL identifier: cygwin1
Mount registry: 3
Cygwin registry name: Cygwin
Program options name: Program Options
Installations name: Installations
Cygdrive default prefix:
Build date:
Shared id: cygwin1S5
Run Code Online (Sandbox Code Playgroud)
自最新一轮的 Windows 补丁以来,路径完成速度已显着减慢(提示可能需要一两秒钟才能恢复)。
应用的补丁是
KB980373
KB981716/MSACCESS
KB981716/ACCWIZ
Run Code Online (Sandbox Code Playgroud)
任何人有任何想法/建议来解决性能问题?
VB版本: 4.2.16
来宾操作系统版本: ubuntu 12.4 LTS
主机操作系统版本: OSX 10.8.4
我创建了两个虚拟机。每个 vm 都有两个网络适配器:NAT 和 Host-only。
这是主机专用适配器的定义方式:

这些是来自 VirtualBox 的两个实例的屏幕截图。


似乎两台机器的接口 virbr0 的 IP 都是 192.168.122.1。
正如@kenster 所建议的,VB 没有创建 virbr0 接口。我不知道它来自哪里。
显然 eth0 来自 NAT 适配器。两个虚拟机都具有相同的 eth0 IP。这是其中一台虚拟机的屏幕截图:

我应该期待来自第二个 Host-only 适配器的 eth1 吗?如果是这样,为什么不创建它?
VB 首选项中的仅主机 dhcp 设置:

那么,为什么 VB 为两个盒子分配两次相同的 IP?
bash ×3
virtualbox ×3
cygwin ×1
linux ×1
networking ×1
python ×1
python3 ×1
unix ×1
vagrant ×1
windows ×1
windows-xp ×1
wmic ×1
xml ×1