首页 > 代码库 > Jenkins 输入字符串给newLISP 作为参数使用问题

Jenkins 输入字符串给newLISP 作为参数使用问题

比如

需要生成sqoop import语句,用newlisp脚本:

(set ‘import-cmd (format "%s/sqoop-import --options-file media_options.txt --table %s --where \"ID = 2\" --target-dir %s -m 1 --fields-terminated-by ‘%s‘ --lines-terminated-by ‘\\n‘" sqoop-path table-name partition-path field-seperator))

注意--fileds-terminated-by ‘%s‘ 

Jenkins的shell 参数输入时应该如下:

????"\001"

这样作为newlisp脚本的字符串参数被解析:

(set ‘field-seperator (main-args 5));; ‘\001‘,  you need to input \001

然后被format语句用于构造完整的字符串

最后产生了:

--fields-terminated-by ‘\001‘ --lines-terminated-by ‘\n‘