我有一个带有两个函数的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命令我得到了错误。
答案 0 :(得分:0)
试试这个:
echo $URL | sed -e '...' | { read DATE ; ... ; }