小编aus*_*aus的帖子

在bash参数中保留引号

我正在制作一个bash脚本,它将打印并将复杂的参数传递给另一个外部程序.

./script -m root@hostname,root@hostname -o -q -- 'uptime ; uname -a'
Run Code Online (Sandbox Code Playgroud)

如何打印原始参数:

-m root@hostname,root@hostname -o -q -- 'uptime ; uname -a'
Run Code Online (Sandbox Code Playgroud)

使用$@$*删除uptime ; uname -a可能导致意外结果的单引号.我的脚本不需要解析每个参数.我只需要打印/记录参数字符串并将它们传递给另一个程序,确切地说它们是如何给出的.

我知道我可以用类似的东西来逃避引号, "'uptime ; uname -a'"但我无法保证用户会这样做.

linux bash

17
推荐指数
3
解决办法
9101
查看次数

检索当前Windows用户的名字和姓氏?

我知道您可以使用类似的东西检索用户名,System.getProperty("user.name")但我正在寻找一种方法来检索当前用户的名字和姓氏.

是否有本地Java库可以执行此操作?或者你必须插入Windows API?或者你可能必须从Active Directory中提取它?这对.NET来说似乎相对容易,但我找不到用Java做的方法.

java

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

Application.Exit需要调用两次

我有一个Main方法,它创建一个名为SysTrayApp的消息循环:

void Main()
{
    Application.Run(new SysTrayApp());
}  
Run Code Online (Sandbox Code Playgroud)

我的SysTrayApp类将ContextMenu添加到System Tray图标,然后启动另一个名为的消息循环MouseHook.MouseHook是一个用于管理鼠标事件的类.(以此课程为蓝本.)

class SysTrayApp : Form
{           
    public SysTrayApp()
    {
        // Does some GUI work    
        // Then starts another message loop
        Application.Run(new MouseHook());
    }
}
Run Code Online (Sandbox Code Playgroud)

_

class MouseHook : Form
{           
    public MouseHook()
    {
        // Does some hooking stuff      
    }
}
Run Code Online (Sandbox Code Playgroud)

在SysTrayApp中,Application.Exit()当用户从上下文菜单中选择"退出"选项时调用.问题是我必须调用Exit两次(或添加另一个Application.Exit)才能结束应用程序.这是预期的,但我觉得我这样做是错误的.打电话Application.Exit()两次对我来说似乎不对,但我是C#世界的新手.应该SysTrayAppMouseHook一个大班组合?MouseHook似乎它不应该是Windows.Form的一部分.也许MouseHook需要在一个新的线程?有什么建议?

编辑:哎呀.MouseHook没有第三个Application.Run()

我想我是在想这个.还在探索C#,就像我说的那样.但这是有效的:

Application.Run(new SysTrayApp());Main()是你所需要的.要启动MouseHook …

.net c# pinvoke winforms

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

SQL返回非重复记录

我正在尝试构建一个将按以下方式排序的查询,NameYear使用更高年份过滤重复项并在表中返回这些记录.我的数据目前看起来像这样:

ID-----Name-----Year
1      Bob      2010
2      John     2014
3      Bob      2004
4      Eric     2005
Run Code Online (Sandbox Code Playgroud)

数据应该主要按顺序进行排序,Name然后按Year降序进行二次排序,如下所示:

ID-----Name-----Year
3      Bob      2004
1      Bob      2010
4      Eric     2005
2      John     2014
Run Code Online (Sandbox Code Playgroud)

然后重复Name记录应该过滤只返回最低值,Year如下所示:

ID-----Name-----Year
3      Bob      2004
4      Eric     2005
2      John     2014
Run Code Online (Sandbox Code Playgroud)

我尝试了类似的东西SELECT DISTINCT,HAVING COUNT但我似乎无法得到它.可能缺少一些简单的东西.有帮助吗?

sql

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

标签 统计

.net ×1

bash ×1

c# ×1

java ×1

linux ×1

pinvoke ×1

sql ×1

winforms ×1