bash - "&" 终端故障
问题描述
我从 PWK 开始,我被困在 bash 脚本会话中。以下代码适用于我:
#!/bin/bash
for var in $(cat wordlist.txt); do
host $url.megacorpone.com &
done
正如讲座中所说,这是使用“&”符号,即在创建一个实例并且它正常工作时进行背景扫描。
但是,当我尝试命令行时:
for url in $(cat wordlist.txt); do host $var.megacorpone.com &;done;
它给了我一个垃圾输出,然后显示:0xarjun@localhost:
当我按下回车键时,显示上一个命令的结果。世界上正在发生什么?
解决方案
从 bash 手册页:
列表是一个或多个管道的序列,由运算符
;
、&
、&&
或中的一个分隔,并且可选地由、或||
中的一个终止。;
&
<newline>
;
在后台运算符之后删除顺序运算符&
,因为两者在 bash 中不允许一起使用。
推荐阅读
- javascript - Google Drive & Spreadsheets API:获取用户的电子邮件地址
- java - 使用 HTTPS 运行 Grails 3 独立 jar/war
- c++ - 字节到位运算符重载 C++
- xpath - 骆驼路线上的问题 - 解析 XML 标签
- ruby-on-rails - 如何引用嵌套在模块内的模型?
- kubernetes - Pod 镜像更新和重启容器保持相同的 IP 问题
- docker - Docker 从第一个 ADD 重建图像
- python - 如何使用 Python 的 cffi 和枚举数组
- ruby-on-rails - Bunder 正在安装 rubygems 依赖项而不是 gem 目录中的版本
- c++ - 在 cygwin 中测试新的 boost 安装时出现 cpp 错误