【发布时间】:2020-06-27 09:26:07
【问题描述】:
我想写我自己的别名oepnserver。 oepnserver的功能是:
- 显示我的IP地址
- 使用 python 模块在当前文件夹上启动服务器。
详细代码如下:
alias openserver="ifconfig wlan0 |grep inet\ |awk '{print $2}' && python3 -m http.server 54188"
当我输入oepnserver 时,我的终端只显示:
inet 172.34.162.200 netmask 255.255.224.0 broadcast 172.34.191.255
Serving HTTP on 0.0.0.0 port 54188 (http://0.0.0.0:54188/) ...
然而,我的期望是
172.34.162.200
Serving HTTP on 0.0.0.0 port 54188 (http://0.0.0.0:54188/) ...
我也尝试使用ifconfig wlan0 |grep inet\ |awk '{print $2}',得到正确的输出。
我应该使用另一种方式来组合这两个命令而不是&&吗?还是我打错字了?
【问题讨论】:
-
不,
&&是正确的,假设您只希望在前面的所有命令都成功的情况下运行 python。inet\末尾的\是可疑的,你没有用单引号括起整个论点是错误的。我会说更可能的问题是 ifconfig 正在打印到 stderr 而不是 stdout 但如果命令从命令行工作,那么它就不可能了。 -
@EdMorton 谢谢你,我会根据你的建议再试一次。