3

我有一个带有两个函数的 bash 脚本,一个是包含一个 case 命令的 main 函数,然后那个 case 命令将调用第二个函数并传递一个特定的参数。

在第二个函数中,我有一个在命令行上运行的命令,但是当作为 bash 脚本的一部分运行时,我收到以下错误:

: line 57: syntax error near unexpected token `('
: line 57: `           local DATE=`echo $URL|sed -r 's/.*____([0-9]{1,2})_([0-9]{1,2})_([0-9]{1,2}).*/20\3-\1-\2/;s/-([0-9]{1})-/-0\1-/;s/-([0-9]{1})$/-0\1/'`'

功能是,

dlshow ()
{
    local URL=$1
    echo "URL: "$URL
    local DATE=`echo $URL|sed -r 's/.*____([0-9]{1,2})_([0-9]{1,2})_([0-9]{1,2}).*/20\3-\1-\2/;s/-([0-9]{1})-/-0\1-/;s/-([0-9]{1})$/-0\1/'`

我不知道为什么作为 bash 命令我得到错误。

4

1 回答 1

0

尝试这个:

echo $URL | sed -e '...' |  { read DATE ; ... ; }
于 2013-11-08T21:35:37.940 回答