<分区>
编写了一个简单的 Shell 脚本,如下所示:
#!/bin/sh
SHOWIT="echo \"a b c\""
GETIT="cut -f 3 -d' '"
echo "$SHOWIT|$GETIT"
eval "$SHOWIT|$GETIT"
$SHOWIT|$GETIT
表达式“$SHOWIT|$GETIT”通过 eval 起作用,但是当直接将它放入 Shell 命令时会遇到错误。
echo "a b c"|cut -f 3 -d' '
c
cut: ': No such file or directory <== Hit error at here
顺便说一句,我的默认 shell 是 RHEL6.3 上的 BASH 4.1.2。
#bash --version
GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)
任何人都可以帮助找到错误的根本原因?非常感谢。