将文件直接传递给nano会因sighup或sigterm而失败

eas*_*egg 7 search edit find nano

我想在我的服务器上搜索特定文件,并在nano内直接编辑它.

我试过这样,但它不会工作

find -name file.php | xargs nano $1
Run Code Online (Sandbox Code Playgroud)

找到该文件,但它不会那样工作

Received SIGHUP or SIGTERM
Run Code Online (Sandbox Code Playgroud)

该如何做到这一点?

Raf*_*zcz 6

另一个解决方案是使用反引号,如果你必须使用其他命令.例如,它对以下内容很有用git status:

nano `git status | grep modified | awk '{ print $2 }'`
Run Code Online (Sandbox Code Playgroud)

或者,找到:

nano $(find -name file\*.php)
Run Code Online (Sandbox Code Playgroud)

  • 这是多个文件的解决方案.这就是它发布在这里的原因. (2认同)

eas*_*egg 2

我找到了使用 find intern exec 函数的解决方案

# find -name file.php -exec nano {} \;
Run Code Online (Sandbox Code Playgroud)