在正确处理文件名时,应该在Bash脚本(没有Perl,Python等等)中使用什么成语来为脚本的参数中的另一个程序构建命令行?
通过正确地说,我的意思是处理带有空格或奇数字符的文件名,而不会无意中导致其他程序将它们作为单独的参数处理(或者,<或者> - 或者- 毕竟,如果不正确的文件名字符被正确转义则有效- 执行某些操作更糟).
这是我的意思的一个组成例子,在一个不能正确处理文件名的形式中:让我们假设这个脚本()通过采取所有的' foo为命令构建命令行(bar假设在路径中)foo输入参数并将任何看起来像标志的东西移到前面,然后调用bar:
#!/bin/bash
# This is clearly wrong
FILES=
FLAGS=
for ARG in "$@"; do
echo "foo: Handling $ARG"
if [ x${ARG:0:1} = "x-" ]; then
# Looks like a flag, add it to the flags string
FLAGS="$FLAGS $ARG"
else
# Looks like a file, add it to the files string
FILES="$FILES …Run Code Online (Sandbox Code Playgroud) 我有一个问题,这只发生在我的电脑上(Windows 7 64位),如果我回应以下内容:
echo $_SERVER['REMOTE_ADDR'];
Run Code Online (Sandbox Code Playgroud)
我明白了: ::1
如果我在数据库中插入同样的事情.
????
鉴于:
void AFunction()
{
foreach(AClass i in AClassCollection)
{
listOfLambdaFunctions.AddLast( () => { PrintLine(i.name); } );
}
}
void Main()
{
AFunction();
foreach( var i in listOfLambdaFunctions)
i();
}
Run Code Online (Sandbox Code Playgroud)
现在你会认为这样做会对等:
void Main()
{
foreach(AClass i in AClassCollection)
PrintLine(i.name);
}
Run Code Online (Sandbox Code Playgroud)
但它没有,它将做的是每次打印AClassCollection中最后一项的名称!所以基本上每个lambda函数都使用相同的项目.我怀疑"当lambda被创建时"或"当它使用其中使用的外部变量的快照时"可能会有一些延迟,或者基本上只是持有'对局部变量的引用'i'
所以我这样做了:
string astr = "a string";
AFunc fnc = () => { System.Diagnostics.Debug.WriteLine(astr); };
astr = "changed";
fnc();
Run Code Online (Sandbox Code Playgroud)
而惊喜,惊喜,它输出"改变了!"
我正在使用XNA 3.1(无论是什么c#)
到底是怎么回事?lambda函数以某种方式存储变量或其他东西的"引用"吗?反正这个问题呢?
我需要一种能够从ubuntu上的linux控制台脚本触发完整GC的方法.我知道这是非常糟糕的做法,但没有太多的细节,这使我的服务器保持运行,这只是在我修复实际问题的1或2天,所以我不必在夜间醒来并执行通过jconsole或jvisualvm手动GC.
或者,我必须制作一个鼠标脚本,每3-4小时左右点击一次按钮,这更糟糕.
请帮忙.
目前我小心翼翼地为每个小部件使用不同的ID,但是如果我对不同布局xml文件中的某些小部件使用相同的id,那么我对findViewById的调用会怎样?是否会混淆并从错误的布局文件返回一个小部件?
我问,因为我想在其他一些视图中包含一个视图(带有一行按钮),然后每个屏幕类都必须为包含的视图上的每个按钮指定一个稍微不同的行为.但要做到这一点,他们会在相同的id上调用findViewById.例如,目前我在每个文件中都喜欢这样:
final ImageButton homeButton = (ImageButton)this.findViewById(R.id.rshome_button);
homeButton.setOnClickListener(new BottomButtonClickListener());
final ImageButton hotButton = (ImageButton)this.findViewById(R.id.rshotlist_button);
hotButton.setOnClickListener(new BottomButtonClickListener());
final ImageButton locButton = (ImageButton)this.findViewById(R.id.rsbot_map);
locButton.setOnClickListener(new BottomButtonClickListener());
final ImageButton sendButton = (ImageButton)this.findViewById(R.id.rssend_button);
sendButton.setOnClickListener(new BottomButtonClickListener());
Run Code Online (Sandbox Code Playgroud)
但是我将每个文件中的R.id更改为指向每个关联布局中的窗口小部件.如果我可以使用一个R.id,那将是很好的,所以我不必调整每个布局文件和每个屏幕类.
谢谢
假设我有一堆矢量类型(一个XNA),其中一些有静态成员Cross:
type Vector3 =
...
static member Cross (a : Vector3, b : Vector3) = new Vector3(...)
Run Code Online (Sandbox Code Playgroud)
我可以定义cross函数并编译:
let inline cross (x : ^T) (y : ^T) = (^T : (static member Cross : (^T * ^T) -> ^T) ((x,y)))
Run Code Online (Sandbox Code Playgroud)
不幸的是我无法使用它并有以下错误:
let res = cross a b
^
Run Code Online (Sandbox Code Playgroud)
成员或对象构造函数Cross接受2个参数但是在这里给出1.所需的签名是静态成员Vector3.Cross:a:Vector3*b:Vector3 - > Vector3
它甚至可能吗?谢谢你的帮助!
我想在选项卡小部件的两侧和选项卡之间添加额外的间距,但填充和边距似乎没有任何区别.我也玩过设置分隔线,标签条左右两个画架,这似乎也没有任何区别.
试图使标签看起来像这样:

在本教程http://www.codeproject.com/KB/IP/ThinVnc.aspx中它说:
ThinVNC不是传统的VNC,因为它没有实现AT&T RFB协议.相反,它建立在当今的Web标准之上:AJAX,JSON和HTML5.
但是在查看代码时,对我来说似乎是Delphi,所以有人可以解释上面的句子真正意味着什么:HTML 5是否真的能够调用OS?
TWin = class(TObject)
private
Wnd : Hwnd;
Rect : TRect;
Pid : Cardinal;
public
constructor Create(AWnd:HWND;ARect:TRect;APid:Cardinal);
end;
function EnumWindowsProc(Wnd: HWnd; const obj:TList<TWin>): Bool; export; stdcall;
var ProcessId : Cardinal;
R,R1 : TRect;
Win : TWin;
begin
Result:=True;
GetWindowThreadProcessId(Wnd,ProcessId);
if IsWindowVisible(Wnd) and not IsIconic(wnd)then begin
GetWindowRect(Wnd,R);
IntersectRect(R1,R,Screen.DesktopRect);
if not IsRectEmpty(R1) then begin
win := TWin.Create(Wnd,R,ProcessId);
obj.Add(win);
end;
end;
end;
procedure GetProcessWindowList(WinList:TList<TWin>);
begin
WinList.Clear;
EnumWindows(@EnumWindowsProc, Longint(WinList));
end;
Run Code Online (Sandbox Code Playgroud) 我的问题是我想创建xml树并获得一个简单的字符串对象(甚至是char*).我无法将xml保存到文件中.
所以在输入中我有xmlDocPtr和完整的xml树,并希望得到包含xml但不使用文件的字符串.
请注意.
我对UNIX命令知之甚少,所以我会尽力用简单的英语解释我想要的东西.
虽然我的Mac终端,我通过以下方式连接到ftp帐户:
ftp example.com
Run Code Online (Sandbox Code Playgroud)
当我做:
get file.php
Run Code Online (Sandbox Code Playgroud)
我将其下载到用户目录.
那么现在有两个相关问题:
1)如何选择此特定下载的下载目录
和
2)选择默认目标目录以供将来下载.