小编Eli*_*Eli的帖子

什么是在Bash中ssh和运行多个命令最干净的方法?

我已经设置了ssh代理,我可以在Bash脚本中运行外部服务器上的命令,例如:

ssh blah_server "ls; pwd;"
Run Code Online (Sandbox Code Playgroud)

现在,我真正想做的是在外部服务器上运行很多长命令.将所有这些包含在引号之间会非常难看,而且我宁愿多次避免ssh'ing以避免这种情况.

那么,有没有一种方法可以用括号括起来的一个方法做到这一点?我正在寻找以下内容:

ssh blah_server (
   ls some_folder;
   ./someaction.sh;
   pwd;
)
Run Code Online (Sandbox Code Playgroud)

基本上,只要它干净,我会对任何解决方案感到满意.

编辑

为了澄清,我在谈论这是一个更大的bash脚本的一部分.其他人可能需要处理脚本,所以我想保持清洁.我不希望有一个bash脚本,其中一行看起来像:

ssh blah_server "ls some_folder; ./someaction.sh 'some params'; pwd; ./some_other_action 'other params';"
Run Code Online (Sandbox Code Playgroud)

因为它非常丑陋且难以阅读.

unix ssh bash

326
推荐指数
14
解决办法
35万
查看次数

多个Redis数据库有什么意义?

所以,我来到一个地方,我想将我在redis中存储的数据分割成单独的数据库,因为我有时需要在一种特定类型的数据上使用keys命令,并希望将它分开以使其更快.

如果我分成多个数据库,一切仍然是单线程的,我仍然只能使用一个核心.如果我只是在同一个盒子上启动另一个Redis实例,我会使用额外的核心.最重要的是,我不能命名Redis数据库,或者给它们任何更多的逻辑标识符.所以,所有这些都说明了为什么/什么时候我想要使用多个Redis数据库,而不是仅为我想要的每个额外数据库启动一个额外的Redis实例?相关地,为什么Redis不会为我添加的每个额外数据库使用额外的核心?跨数据库进行单线程的优势是什么?

redis

139
推荐指数
6
解决办法
6万
查看次数

如何在启动服务后保持Docker容器运行?

我已经看过一堆教程似乎做了我想做的事情,但出于某种原因,我的Docker容器退出了.基本上,我在Docker容器中设置了一个Web服务器和几个守护进程.我通过一个名为bash的脚本完成了最后的部分run-all.sh,我在Dockerfile中运行CMD.run-all.sh看起来像这样:

service supervisor start
service nginx start
Run Code Online (Sandbox Code Playgroud)

我在Dockerfile中启动它,如下所示:

CMD ["sh", "/root/credentialize_and_run.sh"]
Run Code Online (Sandbox Code Playgroud)

我可以看到,当我手动运行时(即使用-i -t/bin/bash访问图像),服务都能正常启动,并且当我运行图像时,一切看起来都正常运行,但它会退出一次它完成了我的流程.我希望这些进程无限期地运行,据我所知,容器必须继续运行才能实现.然而,当我跑步时docker ps -a,我看到:

?  docker_test  docker ps -a
CONTAINER ID        IMAGE                            COMMAND                CREATED             STATUS                      PORTS               NAMES
c7706edc4189        some_name/some_repo:blah   "sh /root/run-all.sh   8 minutes ago       Exited (0) 8 minutes ago                        grave_jones
Run Code Online (Sandbox Code Playgroud)

是什么赋予了?为什么要退出?我知道我可以在我的bash脚本末尾添加一个while循环来保持它,但是什么是阻止它退出的正确方法?

docker

131
推荐指数
9
解决办法
16万
查看次数

如何在Python中拖尾日志文件?

我想在Python中输出tail -F或类似的东西,而不会阻塞或锁定.我发现一些真正的旧代码到做在这里,但我想一定有更好的方法或通过图书馆现在做同样的事情.谁知道一个?

理想情况下,tail.getNewData()每次我想要更多数据时,我都会有类似的东西.

python tail

65
推荐指数
9
解决办法
11万
查看次数

如何实现Python中的deques,以及它们何时比列表更糟糕?

我最近开始研究如何在Python中实现各种数据结构,以使我的代码更高效.在调查列表和deques的工作原理时,我发现当我想要移位和卸载时,我可以获得好处,从列表中的O(n)减少到deques中的O(1)的时间(列表被实现为具有固定长度的数组,具有每次在前面插入某些东西时都要完全复制......).我似乎无法找到的是deque如何实现的具体细节,以及它的缺点与列表的细节.有人可以在这两个问题上启发我吗?

python deque

63
推荐指数
4
解决办法
3万
查看次数

从字符串中解析元组?

比方说,我有一个与元组相同形式的字符串"(1,2,3,4,5)".将其转换为实际元组的最简单方法是什么?我想做的一个例子是:

tup_string = "(1,2,3,4,5)"
tup = make_tuple(tup_string)
Run Code Online (Sandbox Code Playgroud)

只是tuple()在字符串上运行会使整个事件成为一个大元组,而我想要做的就是把字符串理解为一个元组.我知道我可以使用正则表达式,但我希望有一种成本更低的方式.想法?

python python-2.7

51
推荐指数
2
解决办法
4万
查看次数

如何让Python代码保持在80个字符以下而不会让它变得丑陋?

这是一个在我的所有编程,python和其他方面都不断出现的问题.我真的很想把我的代码保持在80个字符以下,如果可能的话/不是非常难看的话.在像Perl这样的语言中,这并不太难,因为空白并不重要.在Python中,我最终会把头撞到墙上,而不是试图想出一种分裂我的长线的"好"方式.所以,Code大师,你是怎么做到的?您可以告诉我的任何一般策略?

我正在处理的一个特殊问题是:

self.SomeLongLongName = SomeLongLongName.SomeLongLongName(some_obj, self.user1, self.user2)
Run Code Online (Sandbox Code Playgroud)

当我自然而然地尝试用Python来解决这个问题时,对我来说唯一可行的方法似乎是:

self.SomeLongLongName = SomeLongLongName.SomeLongLongName(some_obj,
                                                          self.user1
                                                          self.user2)
Run Code Online (Sandbox Code Playgroud)

我想,它看起来并不那么糟糕,但它占用了三行,这完全没必要.必须有更好的方法,不是吗?

注意:我知道有些人不喜欢80个字符,并创建了自己的限制.我理解这背后的动机并尊重它,但80个字符是我的首选限制.请不要占用空间试图说服我去120或其他一些这里.

python

45
推荐指数
4
解决办法
2万
查看次数

在Cloudwatch中避免使用不足的数据?

我设置了警报,告诉我何时我的负载均衡器使用HTTPCode_Backend_5XXsum统计信息的指标投掷5xxs .问题是sum寄存器0没有数据点,所以当没有抛出5xx时,警报被视为数据不足.这特别令人沮丧,因为我有SNS设置,每当我们得到太多的5xx(警报状态)以及每当事情恢复正常时通知我.令人讨厌的是,0 5xx意味着我们处于INSUFFICIENT DATA状态,但是1 5xx意味着我们处于OK状态,因此1 5xx触发每个人都收到通知,说明事情没问题.有没有办法解决?理想情况下,我想将0显示为零数据点,而不是根本没有数据(数据不足).

amazon-web-services amazon-cloudwatch

29
推荐指数
2
解决办法
2万
查看次数

我如何使用getConstructor(params).newInstance(args)?

这可能是一个愚蠢的问题,但我是Java的新手,所以......

我目前有一些代码,目前正在使用它 clazz.asSubclass(asSubclassOfClass).getConstructor().newInstance()

我需要将一些参数传递给contructort,所以我想将其更改为: clazz.asSubclass(asSubclassOfClass).getConstructor(params).newInstance(args)

我不明白的是我需要传递的是params以及我需要传递给args的东西.

假设我想传入一个字符串"你好"和一些名为XyzObj的XYZ类型的对象.我将如何指定?我会以params的形式通过什么,以及作为args传递给我的是什么?

java reflection

27
推荐指数
2
解决办法
6万
查看次数

如何覆盖页面正文中的CSS类的样式信息?

所以我正在研究一个接受HTML作为输入并将它们作为输出返回的项目.我得到的所有HTML都是div和样式表中的所有文本,它们根据class属性决定每个div的样式.

为了更好地可视化事物,并了解我的项目是如何进行的,我希望将输入的HTML颜色编码输出到我给他们的规范.我很容易修改HTML的主体,但很难处理样式表.我正在寻找的只是简单地覆盖样式表的颜色属性.它可能是hacky,因为这只是临时使用的内部代码.我只想要一些有效的东西.有没有一种简单的方法可以覆盖文件正文中的CSS类的各个方面?

[编辑]我想提供一个例子来更好地解释我正在寻找的东西.我在页面顶部(我想要覆盖)的样式表示例如下:

.style21{vertical-align:top;font-size:13px;font-family:Helvetica;color:#000000;}

我希望改变颜色的div的一个例子是:

<div style="position:absolute;top:432;left:422;color:#ff0000;"><span class="style21">relating to</span></div>

我的问题是我无法覆盖css中指定的颜色.正如您在上面的示例中所看到的,我正在尝试在div中的特定样式中执行此操作,但这不起作用.[/编辑]

html css

26
推荐指数
2
解决办法
21万
查看次数