首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将多行代码传递给wsadmin.sh?

将多行代码传递给wsadmin.sh?
EN

Stack Overflow用户
提问于 2015-07-13 01:14:01
回答 2查看 1.7K关注 0票数 3

我想将几行代码传递给WebSphere配置文件。

以下是我的尝试:

代码语言:javascript
复制
# ./wsadmin.sh -lang jython -c 'print("Hello")
> print("World!")'

这份文件印出了以下答复:

代码语言:javascript
复制
WAS7209I: Connected to process"<my profile name>" on node <node name> using SOAP connector; The type of process is: UnManagedProcess
Hello

请注意,它似乎忽略了同一行代码。

当我在Python中尝试相同的东西时,它工作得很好:

代码语言:javascript
复制
# python -c 'print("Hello")
> print("World!")

指纹:

代码语言:javascript
复制
Hello
World!

我在CentOS 7上使用的是CentOS版本8.5。

注意:在得到Ram的答案后,我在超级用户上发布了一个与之不同的相关问题:https://superuser.com/q/939746/240375 --这是我最终得到答案的地方。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-15 12:08:33

Edward's Answer on SuperUserbkail's comment on Ram Vennam's Answer here在大致相同的时间提供了相同的解决方案,但当我要求他们这样做时,他们都没有在这里发布答案,所以我在这里发布,所以我有一个正确的答案可以接受。

代码语言:javascript
复制
$ ./wsadmin.sh -lang jython -f <(echo 'print("Hello")
> print("World")')

效果很好。它允许您放入行返回。它尊重缩进,因此您可以拥有for循环,并定义函数和类以及所有需要缩进行的内容。

另外,我将分享如何在代码中转义单引号:

'\''

第一个引号关闭前面的字符串。\'在其中放入一个单引号文字。最后一个引号开始下一个字符串。Bash自动将这三个字符串连接在一起,形成一个连续的字符串,其中有一个单引号。因此,如果我想使用单引号而不是上面的双引号,它将如下所示:

代码语言:javascript
复制
$ ./wsadmin.sh -lang jython -f <(echo 'print('\''Hello'\'')
> print('\''World'\'')')
票数 2
EN

Stack Overflow用户

发布于 2015-07-13 02:03:30

您可以使用分号:

./wsadmin.sh -lang jython -c 'print("Hello");print("World!")'

或者,可以使用-f选项和wsadmin将脚本文件作为输入。

$ wsadmin.sh -f your_script_file

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31374202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档