这是报错信息:
bin/flume-ng: line 82: syntax error in conditional expression: unexpected token `('
bin/flume-ng: line 82: syntax error near `^java\.library\.path=(.'
bin/flume-ng: line 82: ` if [[ $line =~ ^java\.library\.path=(.*)$ ]]; then'
这是代码:
IFS=$'\n'
for line in $HADOOP_JAVA_LIBRARY_PATH; do
if [[ $line =~ ^java\.library\.path=(.*)$ ]]; then
HADOOP_JAVA_LIBRARY_PATH=${BASH_REMATCH[1]}
break
fi
done
unset IFS
求大神拯救
Unix下配置Flume,运行Shell报错Syntax error
答案:2 悬赏:0 手机版
解决时间 2021-02-18 09:01
- 提问者网友:ミ烙印ゝ
- 2021-02-17 18:50
最佳答案
- 五星知识达人网友:琴狂剑也妄
- 2021-02-17 20:05
字符串最好加双引号,改为下面这样试试:
if [[ “$line” =~ “^java\.library\.path=(.*)$” ]]; then
if [[ “$line” =~ “^java\.library\.path=(.*)$” ]]; then
全部回答
- 1楼网友:时间的尘埃
- 2021-02-17 20:30
原因是脚本中正则里的符号问题,在if中不好处理。最好是先把这个正则定义成一个变量,然后在if中引用,如下
regex_line="^java\.library\.path=(.*)$"
...
if [[ $line =~ "$regex_line" ]]; then
...
再看看别人怎么说的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯