小编Ash*_*win的帖子

Bash:从bash函数返回一个字符串

我需要一个bash函数来返回一个动态构造的字符串以返回给调用者空间.即

makeName()
{
    echo "Enter Ext: "
    read ext
    return "$fileName.$1.$ext.log"
}


echo -n "Enter fileName:"
read fileName

name1=makeName "type1"
name2=makfName "type2"
Run Code Online (Sandbox Code Playgroud)

所以我可以得到两个具有相同基本文件名的不同文件名.我试着这样做,

# echo $(makeName "type1")
Run Code Online (Sandbox Code Playgroud)

但是这个代码在没有任何理由或错误的情况下被攻击.我希望它也可以接受某种I/O. 那没有发生.

linux bash

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

以下C char数组存储实现背后的原因是什么?

以下char数组实现背后的实现原因是什么?

char *ch1 = "Hello"; // Read-only data
/* if we try ch1[1] = ch1[2]; 
we will get **Seg fault** since the value is stored in 
the constant code segment */

char ch2[] = "World"; // Read-write data
/* if we try ch2[1] = ch2[2]; will work. */
Run Code Online (Sandbox Code Playgroud)

根据Head first C(第73,74页)一书,ch2[]数组既存储在常量代码段中,也存储在函数堆栈中.在代码和堆栈内存空间中复制的原因是什么?如果不是只读数据,为什么值只能保存在堆栈中?

c language-design

8
推荐指数
2
解决办法
233
查看次数

使用GO API查找可用的RAM

我正在使用Minikube环境,我已经使用了最大内存

$] minikube config set memory 2048
Run Code Online (Sandbox Code Playgroud)

现在我想使用GO中的Kubernetes API调用来获取此内存值.我试过以下,

import (
    "k8s.io/client-go/kubernetes"
    "k8s.io/client-go/rest"
)

availableMem := kubernetes.Interface.StorageV1beta1().RESTClient().Get().Name("config")
Run Code Online (Sandbox Code Playgroud)

但输出不是可读的方式.

rest go kubernetes minikube

6
推荐指数
1
解决办法
367
查看次数

有没有办法动态设置测试超时值

目前,我正在使用以下命令运行我的测试,并在测试调用期间给出超时值。

去测试 myModule -run TestSanity -v --race -timeout 10h

Golang 测试模块中有没有办法在程序执行期间设置它。就像是,

func TestMain(m *testing.M) {
    // customTimeout = "10h"
    // m.Timeout(customTimeout)   <--- Something like this
    code := m.Run()
    os.Exit(code)
}
Run Code Online (Sandbox Code Playgroud)

unit-testing go

4
推荐指数
1
解决办法
1866
查看次数

PyGtk:在单独的线程中运行 gtk.main() 循环

即使我没有给出 gtkMainLoop.start() 函数调用,下面的代码也会在声明 og gtkLoopTHread 本身后受到攻击。我想在后台运行计时器,并在该 UI 中执行一些操作,并在计时器达到“0”时销毁 UI。

代码

def createCountDown(maxSec):
  while maxSec > 0:
    print maxSec;
    maxSec = maxSec - 1;

  gtk.main_quit();
  return;

maxSec = 5;
gtkLoopThread = threading.Thread(group=None, target=gtk.main, name=None, args=(), kwargs={});
print "After gtkThread declaration"
myThread = threading.Thread(group=None, target=createCountDown, name=None, args=(maxSec), kwargs={});
gtkLoopThread.start();
myThread.start();
Run Code Online (Sandbox Code Playgroud)

预期输出:

After gtkThread declaration
5
4
3
2
1
Run Code Online (Sandbox Code Playgroud)

当前行为: 行“在 gtkThread 声明之后”没有看到打印,因为 gtkLoopThread 在初始化 gtkLoopThread 变量后立即启动

gtk multithreading pygtk python-2.7

3
推荐指数
1
解决办法
3048
查看次数

Tclsh:我可以对字符串使用split吗?

在Tcl中,我想基于字符串拆分缓冲区.

set buffer "abc def geh ijk lmn abc 123 rfs sdf abc asdfg sadfga"
Run Code Online (Sandbox Code Playgroud)

现在我想基于字符串说"abc"分割缓冲区所以我的输出应该如下所示:

{ { def geh ijk lmn } { 123 rfs sdf } { asdfg sadfga}}
Run Code Online (Sandbox Code Playgroud)

我试过用,

set output [split $buffer "abc"]
Run Code Online (Sandbox Code Playgroud)

但是这会分别根据所有a,b,c字符拆分字符串.

string split tcl

1
推荐指数
1
解决办法
81
查看次数

如何检查 tdom(tcl) 中是否存在 xml 节点?

我正在尝试使用 tclsh 脚本中的 TDOM 解析器删除现有的 xml 节点。当尝试删除不存在的节点时,tcl 代码抛出错误。

在 tdom 中访问节点之前有什么方法可以检查该节点是否存在。

这是我尝试删除 delNode 时得到的结果:

invalid command name ""
    while executing
"[$root selectNodes $xpath/delNode] delete"
Run Code Online (Sandbox Code Playgroud)

xml tcl tdom

1
推荐指数
1
解决办法
973
查看次数