标签: system

从Ruby脚本运行Linux系统命令

我有以下Ruby脚本创建一个Debian包,它工作正常:

#!/usr/bin/ruby

  dest = "#{File.dirname(__FILE__)}/../build"
  package = "foo"

  [
    "cd #{dest} && tar czvf data.tar.gz bin console data.sql etc filter install.rb",
    "cd #{dest} && tar czvf control.tar.gz control",
    "cd #{dest} && echo 2.0 > debian-binary",
    "cd #{dest} && ar -cr #{package}.deb debian-binary control.tar.gz data.tar.gz",
    "cd #{dest} && mv #{package}.deb ..",
    "cd #{dest} && rm data.tar.gz control.tar.gz",
  ].each do |command|
    puts command
    system(command)
  end

在Ruby中有没有办法可以省去每个命令的" cd#{dest} && "部分?

ruby linux system

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

MFC C++:TODO <文件描述>已停止工作

我写了一个程序,试图在C:\ windows \目录中写一个文件.我已经在winXP,win7(64和32位)的几台电脑上测试了这个程序.但是当我在客户端的PC上安装它时它崩溃了:TODO(文件描述)已停止工作请ifbudy知道任何解决方案然后回复我.

c++ windows mfc system file

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

如何从C++程序运行另一个程序

我试图在我的C++程序中的一个文件上调用另一个程序来执行一个函数(我不知道它是什么,只是它不是用C++编写,而是用shell编写).我不知道如何在我的程序中实际执行该功能.我知道我写的是这样的

system(PROGRAM HERE);
Run Code Online (Sandbox Code Playgroud)

问题是我不知道我应该如何键入程序.我相信如果函数被称为dostuff,我会输入

system("dostuff");
Run Code Online (Sandbox Code Playgroud)

... 我认为.但是,如果有关于该函数的参数,我将在C++程序中作为变量给出怎么办?这就是我真正需要帮助的地方.在终端中,我会输入" dostuff -1 arg".所以在C++中我会输入

int arg = 5;

system("dostuff" arg); 
Run Code Online (Sandbox Code Playgroud)

c++ shell terminal system function

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

用于编程和黑客的linux发行版是什么?

有人可以告诉我什么是linux发行更好.Linux mint还是Kali linux?

linux operating-system system

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

使用sed替换perl中的行

我想取消注释etter.conf文件中的168行.该命令在终端中运行正常但我在perl中尝试时遇到错误.

system ("sed -i '168s/.*/redir_command_on = "iptables -t nat -A PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport"/' /etc/etter.conf");
Run Code Online (Sandbox Code Playgroud)

错误是:

Bareword found where operator expected at ./attack.pl line 135, near 
""sed -i '168s'/.*'/redir_command_on = "iptables"
Run Code Online (Sandbox Code Playgroud)

我认为这与特殊角色和逃脱有关.

perl system sed

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

在Shell命令中传递C变量

我遇到了问题.我想在shell命令(dd)中使用C变量.

假设abc.c是我的C程序.

int main()
 {
    int block = 1313; /*any integer */
    system("dd if=device of=output-file bs=4096 count=1 skip=$((block))");
    return 0;
 }
Run Code Online (Sandbox Code Playgroud)

现在,如果我在的地方使用1313 blockdd命令,然后正常工作.但是当我写入时,block它会在输出文件中写入零作为blockC程序变量,并在shell命令中使用.

c shell system

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

抑制system()输出

首先,我主要进行C#,.Net开发,所以如果这是一个愚蠢的问题,请继续.

我正在实现一个Ericcson开源项目,将图像转换为另一种格式.问题是在转换时输出到控制台发生如下...

1 file(s) copied.
Run Code Online (Sandbox Code Playgroud)

我需要禁止弹出的对话框.我只想执行没有输出的系统命令.我想我已经隔离了引起这个问题的代码区域.

void writeOutputFile(char *dstfile, uint8* img, uint8* alphaimg, int width, int height)

{
    char str[300];
if(format!=ETC2PACKAGE_R_NO_MIPMAPS&&format!=ETC2PACKAGE_RG_NO_MIPMAPS) 
{
    fWritePPM("tmp.ppm",width,height,img,8,false);
    //PRINTF("Saved file tmp.ppm \n\n");
}
else if(format==ETC2PACKAGE_RG_NO_MIPMAPS) 
{
    fWritePPM("tmp.ppm",width,height,img,16,false);
}
if(format==ETC2PACKAGE_RGBA_NO_MIPMAPS||format==ETC2PACKAGE_RGBA1_NO_MIPMAPS||format==ETC2PACKAGE_sRGBA_NO_MIPMAPS||format==ETC2PACKAGE_sRGBA1_NO_MIPMAPS)
    fWritePGM("alphaout.pgm",width,height,alphaimg,false,8);
if(format==ETC2PACKAGE_R_NO_MIPMAPS)
    fWritePGM("alphaout.pgm",width,height,alphaimg,false,16);

// Delete destination file if it exists
if(fileExist(dstfile))
{
    sprintf(str, "del %s\n",dstfile);   
    system(str);
}

int q = find_pos_of_extension(dstfile);
if(!strcmp(&dstfile[q],".ppm")&&format!=ETC2PACKAGE_R_NO_MIPMAPS) 
{
    // Already a .ppm file. Just rename. 
    sprintf(str,"move tmp.ppm %s\n",dstfile);
    //PRINTF("Renaming destination file to %s\n",dstfile);
}
else
{
    // Converting from .ppm to …
Run Code Online (Sandbox Code Playgroud)

c++ windows system output

0
推荐指数
2
解决办法
6510
查看次数

简单系统调用实现示例?

有趣的是,我在网上找不到任何简单的例子.你能分享一个简单的例子吗?我试图通过分析一个例子来理解以下内容.

?   Typically, 
?   a number associated with each system call
?   Number used as an index to a table: System Call table
?   Table keeps addresses of system calls (routines)
?   System call runs and returns
?   Caller does not know system call implementation
?   Just knows interface
Run Code Online (Sandbox Code Playgroud)

operating-system kernel system

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

如何从C#程序中检索WMI数据(例如UUID)?

要检索系统的UUID,我们可以选择WMIC命令行实用程序

wmic csproduct get uuid
Run Code Online (Sandbox Code Playgroud)

如何使用C或C#程序或.dll从系统中检索相同的uuid?

c c# wmi system wmic

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

使用c ++的Unix命令

我需要从C++程序运行Unix命令.

    string command;
    do{
        cout<<"~ "<<get_current_dir_name ()<<">";
        cin>>command;
        if(command=="exit"||cin.eof()){
            cout<<"exit!"<<endl;
            system("exit");
            break;
        }
        system(command.c_str());
    }while (true);
Run Code Online (Sandbox Code Playgroud)

但是当我使用调用cd命令(更改当前目录)时,我收到"Permission denied"错误.

我可以chmod在我的代码中使用吗?如果是,我该如何使用它.

chmod编译后我无法使用.

这是我编译代码的方式:

g++ -o shell *.cpp -std=c++11 -Wall -Wno-vla -pedantic -march=core2 -Os -pipe -fstack-protector-all -g3 -Wl,-O,1,-z,combreloc
Run Code Online (Sandbox Code Playgroud)

c++ unix shell system

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

标签 统计

system ×10

c++ ×4

shell ×3

c ×2

linux ×2

operating-system ×2

windows ×2

c# ×1

file ×1

function ×1

kernel ×1

mfc ×1

output ×1

perl ×1

ruby ×1

sed ×1

terminal ×1

unix ×1

wmi ×1

wmic ×1