小编Nat*_*han的帖子

如何在Linux上找到包含特定文本的所有文件?

我正在尝试找到一种方法来扫描整个Linux系统,查找包含特定文本字符串的所有文件.只是为了澄清,我在文件中寻找文本,而不是文件名.

当我查找如何做到这一点时,我遇到了两次这个解决方案:

find / -type f -exec grep -H 'text-to-find-here' {} \;
Run Code Online (Sandbox Code Playgroud)

但是,它不起作用.它似乎显示系统中的每个文件.

这是否接近正确的方法呢?如果没有,我该怎么办?这种在文件中查找文本字符串的能力对于我正在做的一些编程项目非常有用.

linux directory grep text find

4914
推荐指数
52
解决办法
614万
查看次数

如何检查是否在bash脚本中以root身份运行

我正在编写一个需要根级别权限的脚本,我想这样做,如果脚本不是以root身份运行,它只是回应"请以root身份运行".并退出.

这是我正在寻找的一些伪代码:

if (whoami != root)
  then echo "Please run as root"

  else (do stuff)
fi

exit
Run Code Online (Sandbox Code Playgroud)

我怎么能最好(干净,安全)完成这个?谢谢!

啊,只是为了澄清:(做东西)部分将涉及运行内部和自身需要root的命令.因此,以普通用户身份运行它只会出现错误.这只是为了干净地运行需要root命令的脚本,而不在脚本中使用sudo,我只是在寻找一些语法糖.

bash shell root

245
推荐指数
12
解决办法
16万
查看次数

使用通用国际象棋界面

我打算制作一个与UCI国际象棋引擎接口的程序.我一直在做一些研究,但是在我深入了解它之前,我想获得更多信息.我想知道你们中是否有人可以在UCI引擎和前端程序之间提供一些示例"交换".我并不真正关心实际的接口代码(比如发送/接收命令),这应该很简单.我只想尝试一些小游戏和一些选项的好例子.我目前正在使用鳕鱼引擎,但我希望能够使用多个引擎.

无论如何,我正在寻找一些如何在UCI上玩游戏的例子.

linux chess interface uci

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

React:警告,组件正在将不受控制的输入更改为受控制

我在我的 React 应用程序中使用Google 地图地址自动完成功能。它的工作原理是连接到输入元素、观察变化并提供下拉位置选择。

相关代码:

<InputGroup hasValidation className="mb-3">
    <FormControl id="autocomplete"/>
</InputGroup>
Run Code Online (Sandbox Code Playgroud)
useEffect(() => {
        
    // only specify the fields we need, to minimize billing
    const options = {"fields": ["address_components"]}

    const autocompleteElement = document.getElementById("autocomplete")

    if(autocompleteElement) {

        autocomplete.current = new google.maps.places.Autocomplete(autocompleteElement, options);
            
        const listener = autocomplete.current.addListener("place_changed", placeSelected);
        return function cleanUp() {
            google.maps.event.clearInstanceListeners(listener);
        }
    } else {
        // nothing to do yet
        return;
    }
});
Run Code Online (Sandbox Code Playgroud)

但是,我在浏览器控制台中收到警告

Warning: A component is changing an uncontrolled input to be controlled. This is likely …

javascript google-maps reactjs controlled-component

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

显示 github 自述文件中的图像

我正在尝试获取我的程序的屏幕截图以显示在 github 的主存储库页面上。我发现的每一篇在线文章都说只需添加 markdown ,但这对我不起作用。

这是回购页面:https://github.com/PainterAndHacker/LambdaCrypt

我都尝试过

![Screenshot]\(http://i.imgur.com/ebuHuem.png) 
Run Code Online (Sandbox Code Playgroud)

![Screenshot](http://i.imgur.com/ebuHuem.png?raw=true)
Run Code Online (Sandbox Code Playgroud)

但它根本没有在我的存储库页面上显示屏幕截图。有什么建议么?

markdown github

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

Scala播放模板vararg HtmlContent

我有一个通用模板play 2.6,我希望传递可变数量的HtmlContents.我已经定义了template这样的(包括我改变任何东西的隐含参数):

@(foo: String)(content: Html*)(implicit bar: Bar)
Run Code Online (Sandbox Code Playgroud)

在模板上,这个工程fine--我可以解剖contentfor和渲染它,因为我想要的.但是,我还没有找到一种从底层模板调用变量参数的简洁方法.

例如,我有一个名为"Baz"的视图:

@(something: String)(implicit bar: Bar)
Run Code Online (Sandbox Code Playgroud)

在其中,我尝试template使用多个Html参数调用.我尝试过以下方法:

@template("fooString"){{123},{abc}}
and
@template("fooString")({123}, {abc})
and
@template("fooString"){{123}, {abc}})
Run Code Online (Sandbox Code Playgroud)

和其他各种排列,但在一个封闭的括号内,它似乎将字面上的所有内容解释为HtmlContentvararg中的单个参数.

然而,这最终按照我的意图工作,传递了多个HtmlContents:

@template("fooString")(Html("123"), Html("abc"))
Run Code Online (Sandbox Code Playgroud)

这样可以工作,我可以使用三引号内插字符串作为一个大的Html块 - 但似乎应该有一个更简洁的方法来执行此操作,并且字符串插值是危险的,因为它不会执行html转义.

有没有办法使用{附带的语法执行此操作?我想更深入地了解基础层面上实际发生的事情,以及如何在括号中解析并生成HtmlContent.

html scala variadic-functions playframework twirl

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

React:MUI 空图标以预留空间

有时我希望一个图标(例如,输入的结束装饰)是一个空图标,然后在某个时候用一个真实的图标替换。通过保留空间,使用空图标可以防止添加图标时出现奇怪的变化。

但我在 MUI 图标列表中找不到空白/空图标。获得一个行为类似于普通图标(具有大小调整等)的空图标的好方法是什么?

reactjs material-ui

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

在 React 中,为什么不能向空片段添加键(短语法)?

我知道,在 React 中,你不能向空片段添加键:

// will result in an error
< key={'foo'} > 
 {...}
</>
Run Code Online (Sandbox Code Playgroud)

相反,您需要使用React.Fragment

// works fine
<React.Fragment key="foo">
   {...}
</React.Fragment>
Run Code Online (Sandbox Code Playgroud)

React 文档注意到了这一点,但没有解释原因,我很好奇。这是 JSX 的限制吗?或者是 React 出于某种原因做出的设计决定?

编辑:我找到了这篇文章。听起来像是Fragment先出现,然后<>再出现(并被上游到 JSX)。但为什么他们不把它做成可以参数化的呢?只是对这个决定的背景以及是否有根本原因感到好奇,因为我不太了解 JSX。

design-decisions jsx reactjs

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

QT画一个圆圈

我正在学习QT,并且有一个简单的问题:

绘制半径为r且中心点为x,y的圆的最佳方法是什么?

谢谢!

c++ qt

7
推荐指数
1
解决办法
4万
查看次数

清除Scala语法"将可选值附加到Seq(如果存在)"

我经常看到这两种模式用于向Seq附加一个Optional值:

def example1(fooList: Seq[Foo], maybeFoo: Option[Foo]): Seq[Foo]) = {
  if (maybeFoo.isDefined)
    fooList :+ maybeFoo.get
  else
    fooList
}

def example2(fooList: Seq[Foo], maybeFoo: Option[Foo]): Seq[Foo]) = {
  maybeFoo match {
    case Some(foo) => fooList :+ foo
    case None => fooList
  }
}
Run Code Online (Sandbox Code Playgroud)

这两种方法都有效,但它们看似冗长和丑陋.是否有现有的操作员或方法可以更自然地/功能性地完成此操作?

谢谢!

functional-programming scala

7
推荐指数
2
解决办法
628
查看次数