jmg*_*ner 18 bash ubuntu dash-shell
我收到了这个错误
语法错误:重定向意外
在线:
if grep -q "^127.0.0." <<< "$RESULT"
Run Code Online (Sandbox Code Playgroud)
我如何在Ubuntu中运行它?
Kei*_*son 27
<<<是一个特定于bash的重定向操作符(因此它不是特定于Ubuntu).所述文档是指它作为一个"在这里字符串",所述的变体"在这里文档".
3.6.7这里的字符串
这里文档的一个变体,格式是:
<<<字
该字被扩展并在其标准输入上提供给命令.
一个简单的例子:
$ cat <<< hello
hello
Run Code Online (Sandbox Code Playgroud)
如果您收到错误,可能是您使用bash以外的shell执行命令.如果您#!/bin/sh位于脚本的顶部,请尝试将其更改为#!/bin/bash.
如果您尝试使用它/bin/sh,它可能假设<<引用"here here",然后在此之后看到意外<,导致您看到的"语法错误:重定向意外"消息.
zsh和ksh也支持这种语法.
Hal*_*ary 21
if grep -q "^127.0.0." <<< "$RESULT"
then
echo IF-THEN
fi
Run Code Online (Sandbox Code Playgroud)
是特定于Bash的东西.如果您使用的是另一个与bourne兼容的shell,请尝试:
if echo "$RESULT" | grep -q "^127.0.0."
then
echo IF-THEN
fi
Run Code Online (Sandbox Code Playgroud)