我正在尝试使用openssl命令创建CA签名的最终实体证书,如下所示,在Linux中:
# openssl genrsa -des3 -out clientkey.pem 2048
# openssl req -new -key clientkey.pem -out clientcert.csr
# cp clientkey.pem clientkey.pem.org
# openssl rsa -in clientkey.pem.org -out clientkey.pem
# openssl x509 -req -days 1 -in clientcert.csr -out clientcert.pem -CA cacert.pem -CAkey cakey.pem -CAcreateserial
Run Code Online (Sandbox Code Playgroud)
是否可以以小时而不是天来指定到期时间?我需要生成证书,比如1小时的到期时间,以进行一些测试.
Openssl命令似乎支持一些指定startdate和enddate的选项,但我无法弄清楚如何使用它.(我假设enddate可能支持指定日期和时间).
#openssl x509 -req -startdate 120814050000Z -enddate 120814060000Z -in clientcert.csr -out clientcert.pem -CA cacert.pem -CAkey cakey.pem -CAcreateserial
unknown option 120814050000Z
usage: x509 args
.
.
-startdate - notBefore field
-enddate - notAfter field
.
.
-days arg …Run Code Online (Sandbox Code Playgroud) 以下是我的源代码:
#include <iostream>
#include <boost/shared_ptr.hpp>
class MyClass
{
public:
MyClass()
{
i=10;
}
private:
int i;
};
int main(int argc, const char *argv[])
{
boost::shared_ptr <MyClass> obj(new MyClass());
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我想检查gdb中的obj,并查看成员变量i的值.
这是我用普通打印得到的:
29 boost::shared_ptr <MyClass> obj(new MyClass());
(gdb) n
30 return 0;
(gdb) p obj
$1 = {px = 0x602010, pn = {pi_ = 0x602030}}
Run Code Online (Sandbox Code Playgroud)
我尝试了此链接中提到的提示,但无法正常工作.
(gdb) call (obj.get())->print()
Cannot evaluate function -- may be inlined
Run Code Online (Sandbox Code Playgroud)
还有其他方法吗?gdb版本是7.0.1.
vim中的默认对齐方式(使用"=")将我的代码对齐为:
void my_loooong_function (int arg1,
int arg2,
int arg3
)
Run Code Online (Sandbox Code Playgroud)
但是,我希望与从同一行开始的所有参数一致,如:
void my_loooong_function (int arg1,
int arg2,
int arg3
)
Run Code Online (Sandbox Code Playgroud)
如何才能做到这一点?
我正在尝试看看svn中的合并是如何变得容易的.
该页面提到可以使用外部工具进行合并.vim可以用作外部合并工具吗?
一些额外要求:
例如:如

我正在使用inotify来监听对文件的修改.
当我测试文件修改时,程序运行正常.
# echo "test" > /tftpboot/.TEST
Output:
Read 16 data
IN_MODIFY
Run Code Online (Sandbox Code Playgroud)
但是当我执行tftp put时,会生成两个事件:
tftp> put .TEST
Sent 6 bytes in 0.1 seconds
tftp>
Output:
Read 16 data
IN_MODIFY
Read 16 data
IN_MODIFY
Run Code Online (Sandbox Code Playgroud)
知道如何避免重复通知吗?
代码如下:
#include <sys/inotify.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <sys/types.h>
#include <iostream>
using namespace std;
int main(int argc, const char *argv[])
{
int fd = inotify_init();
if (fd < 0)
{
cout << "inotify_init failed\n";
return 1;
}
int wd = inotify_add_watch(fd, "/tftpboot/.TEST", IN_MODIFY);
if …Run Code Online (Sandbox Code Playgroud) 当我打开2个水平分割文件时,每个窗口都有自己的状态行.
例如用命令
vim -o a.txt b.txt
Run Code Online (Sandbox Code Playgroud)
我将获得第一个窗口的状态行为"a.txt",第二个窗口为"b.txt".
我需要从命令行调用vim,我需要设置一个自定义状态行,并且我希望每个窗口都有不同的状态行.
同
vim -o -c "set statusline=hello" a.txt b.txt
Run Code Online (Sandbox Code Playgroud)
我得到"你好"作为两个窗口的状态.
如何将"hello"作为第一个窗口的状态行,将"world"作为第二个窗口,我该怎么做; 从命令行调用vim时?
此命令不起作用:
vim -o -c "set statusline=hello" a.txt -c "set statusline=world" b.txt
Run Code Online (Sandbox Code Playgroud)
请帮忙.
在我的.subversion/config文件中,我设置diff-cmd了一个调用vimdiff查看更改的脚本.
以下是我的问题:我正在查看两个svn URL之间的差异,其中有10个文件被修改.该svn diff url1 url2命令将打开第一个文件的差异.发布:vim中的qa会显示第二个文件的差异.现在,有没有办法完全退出vim,中止进一步查看差异(除了运行:qa剩余8次)?
更新:以下是我的脚本:
#!/bin/sh
# use vimdiff to view diffs
DIFF="/usr/bin/vimdiff -o"
NUM=$# # number of arguments
LEFT=${6} # old file
RIGHT=${7} # new file
L_TITLE=${3} # actual name and revision of old file
R_TITLE=${5} # actual name and revision of new file
ST="${L_TITLE}"
# get the file name
NAME=`echo $ST | tr -s ' ' '\n' | head -1`
L_BRANCH=`echo $L_TITLE | tr -s ' ' '\n' …Run Code Online (Sandbox Code Playgroud) 我在Vim 7中使用DrawIt插件绘制一些ascii图.
这可能太多了,但仍然 - 是否有任何插件可以在背景中显示网格,以使绘图更容易?
我有一个解析配置文件的C程序.配置文件允许格式化一些wildchars
option=%any.
问题是,当我使用strcmp比较值时,我得到一个非法的指令错误.
示例程序来说明这一点:
char str1[10];
sprintf(str1,"%any");
if(strcmp(str1,"%any") == 0)
printf("match\n");
return 0;
Run Code Online (Sandbox Code Playgroud)
输出:
$ ./a.out
Illegal instruction
Run Code Online (Sandbox Code Playgroud)
printf也会抛出此错误.
使用printf("%s \n",str1);
输出是:
$ ./a.out
0x0.07fff00000001p-1022ny
Illegal instruction
Run Code Online (Sandbox Code Playgroud)
我尝试转义,即在sprintf中使用"\%any"而不是"%any"; 但这没有用.
在C++中,使用std :: string ==比较,使用cout打印似乎工作正常.
有人可以帮助我找出如何用C做到这一点.
我有一个场景 -
我将登录machineA.从那里我需要ssh到machineB.从machineB我必须将文件复制到machineC.
我试图一步到位:
[user@machineA]$ ssh user@machineB "scp /path/to/file root@machineC:"
Run Code Online (Sandbox Code Playgroud)
但是此命令失败并出现错误:
Host key verification failed. lost connection
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?
我需要这个才能真正使用.
我在machineA中进行开发,所以我将在这里进行编码和交叉编译.我需要将我的交叉编译二进制文件复制到machineC进行测试.但是,直接连接machineA - > machineC将无法正常工作.我需要在两者之间使用machineB.
此外,machineB和machineA是镜像的; 所以我不必将我的文件从machineA明确复制到machieB.我不使用machineB进行开发只是因为它位于远程站点并且速度很慢.
我看到这样的宏定义:
#define ASSERT_VALID_PARAM(param, assertion) { static_cast<void>(param); if (!(assertion)) { throw InvalidParamError(#param, #assertion, __FILE__, __PRETTY_FUNCTION__, __LINE__); } }
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚static_cast<void>(param)这里的需要。知道为什么需要这个吗?
我的印象是,除非您拥有目录的执行权限,否则无法搜索该目录或对其执行cd.
但我尝试删除目录的执行权限,我仍然可以进入该目录.那么,目录执行权限的真正用途是什么?
# mkdir tmp
# ll
total 4
drwxr-xr-x 2 root root 4096 Jul 13 13:52 tmp
# chmod 0600 tmp
# ll
total 4
drw------- 2 root root 4096 Jul 13 13:52 tmp
# cd tmp/
Run Code Online (Sandbox Code Playgroud) 我有一个与sign(+/-)和数字交错的数组.有没有办法在ruby中评估这个数组?
例如:["+", 1, "+", 2, "+", 3].这需要进行评估,即6在上述情况下进行评估.
更多例子:
["+", 1, "+", 2, "+", 3] -> 6
["+", 1, "+", 2, "-", 3] -> 0
["-", 1, "-", 2, "-", 3] -> -6
Run Code Online (Sandbox Code Playgroud)