标签: scripting

C++的脚本语言

我在脚本语言方面有点生疏,只要它们最近像蘑菇一样突然出现:)

今天我认为有一种脚本语言与C++无缝对话会很好,也就是说,可以使用C++类,对我来说最重要的是,可以编译成C++或者一些DLL/.SO(加上它. h)这样我就可以将它链接到我的C++程序中并使用脚本定义或实现的类.

我知道我可以嵌入任何流行的脚本语言,如lua,ruby,python ......但是接口通常包含某种"eval"函数,用于评估提供的脚本代码.根据用于耦合C++和脚本语言的工具,脚本回调到C++的集成可能或多或少易于编写,但我没有看到任何实际上允许我编写独立模块的脚本语言作为.h和.so/dll暴露给我的程序(可能是生成C++代码的脚本语言).

你知道这样的工具/脚本语言吗?

提前致谢.

PD.我一直在思考Vala或Haskell的GHC.他们生成C,但不生成C++ ......

c++ scripting scripting-language

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

将Bash变量读入Python脚本

我正在运行一个bash脚本(test.sh),它加载到环境变量(来自env.sh).这工作正常,但我试图看到python可以加载已经在bash脚本中的变量.

是的我知道传递我需要的特定变量作为参数可能更容易,但我很好奇是否有可能获得bash变量.

test.sh

#!/bin/bash
source env.sh

echo $test1

python pythontest.py
Run Code Online (Sandbox Code Playgroud)

env.sh

#!/bin/bash

test1="hello"
Run Code Online (Sandbox Code Playgroud)

pythontest.py

?
print test1 (that is what I want)
Run Code Online (Sandbox Code Playgroud)

python bash scripting environment-variables

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

如何在另一个使用sudo的用户的bash子shell中执行一系列命令?

我正在编写一个需要sudo多个命令的bash脚本.我可以做这个:

( whoami ; whoami )
Run Code Online (Sandbox Code Playgroud)

但我不能这样做:

sudo ( whoami ; whoami )
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

unix linux bash scripting

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

如何拖尾远程文件?

我试图找到一个在远程主机上拖尾文件的好方法.这是在Linux机器的内部网络上.要求是:

  1. 必须表现良好(没有额外的过程,或继续输出)

  2. 不能要求某人的宠物Perl模块.

  3. 可以通过Perl调用.

  4. 如果可能,在远程计算机上不需要自定义构建的脚本或实用程序(常规的linux实用程序很好)

我尝试过的解决方案通常都属于这种类型

ssh remotemachine -f <some command>
Run Code Online (Sandbox Code Playgroud)

"一些命令"已经:

tail -f logfile
Run Code Online (Sandbox Code Playgroud)

基本尾部不起作用,因为远程进程在本地ssh进程终止后继续将输出写入终端.

$socket = IO:Socket::INET->new(...);
$pid = fork();
if(!$pid)
{
  exec("ssh $host -f '<script which connects to socket and writes>'");
  exit;
}

$client = $socket->accept;
while(<$client>)
{
  print $_;
}
Run Code Online (Sandbox Code Playgroud)

这样做效果更好,因为在本地进程退出后没有输出到屏幕但远程进程没有发现它的套接字已关闭并且它无限期地存在.

ssh scripting perl tail netcat

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

C#Interpreter(无编译)

那里有一个现成的C#解释器,那不依赖于运行时编译吗?

我的要求是:

  • 脚本引擎
  • 必须处理C#语法
  • 必须在中等信任环境中工作
  • 不得使用运行时编译(CodeDomProvider ...)
  • 开源(或至少免费用于个人和专业用途)

如果不清楚,我需要像Jint(http://jint.codeplex.com/)这样的东西,但它允许我编写C#脚本而不是JavaScript脚本.

谢谢你的帮助.

c# scripting

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

在Vim中交换两个字符串的最简单方法?

什么是更换所有出现的最简单的方法string_a用string_b,而在同一时间改变任何东西,已经string_b到string_a?我目前的方法如下:

:s/string_a/string_c/g  
:s/string_b/string_a/g  
:s/string_c/string_b/g  
Run Code Online (Sandbox Code Playgroud)

虽然这有效,但它需要额外的打字并且效率低下.有人知道更好的方法吗?

vi vim scripting

37
推荐指数
3
解决办法
7269
查看次数

DIR ="$(cd"$(dirname"$ {BASH_SOURCE [0]}")"&& pwd""这是如何工作的?

我需要获得脚本的路径.我可以使用,pwd如果我已经在同一目录,我在网上搜索,我发现了这一点

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

但我不知道如何使用它.

unix linux bash shell scripting

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

如何在光标下获取单词以及vim脚本中当前行的文本?

我正在尝试编写一个vim脚本.如何获取光标下的单词和当前行的文本?我想在我的脚本中使用它,谢谢.

vim scripting

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

Mac OS X - 从桌面GUI运行shell脚本

您可以创建一个shell脚本或Python或Ruby脚本,并使用"终端"在Mac上运行它...如果您打开Finder,并单击包含已保存shell脚本源代码的文件的图标有没有办法让脚本运行,而不是在我的文本编辑器中打开?

macos shell scripting desktop

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

如何在PowerShell中为变量分配空值?

我想为一个被调用的变量赋一个空值$dec,但它给了我错误.这是我的代码:

import-module activedirectory
$domain = "domain.example.com"
$dec = null
Get-ADComputer -Filter {Description -eq $dec}
Run Code Online (Sandbox Code Playgroud)

powershell scripting null

36
推荐指数
3
解决办法
11万
查看次数