0
摸索出如下一個簡單的shell腳本:爲什麼這條線外殼的的eval(工作),但獲得未能在bash
#!/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)
任何人都可以幫助找到錯誤的根本原因?非常感謝。