标签: bash

如何使用 find 命令删除匹配模式的文件?

我正在尝试编写一个 bash 命令,该命令将删除与特定模式匹配的所有文件 - 在这种情况下,它是所有已建立的旧 vmware 日志文件。

我试过这个命令:

find . -name vmware-*.log | xargs rm
Run Code Online (Sandbox Code Playgroud)

但是,当我运行该命令时,它会阻塞所有名称中包含空格的文件夹。有没有办法格式化文件路径,以便 xargs 将其传递给 rm 引用或正确转义?

linux bash log-files find shell-scripting

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

使用 puppet 在 /etc/profile 中添加行?

我使用 puppet 来安装当前的 JDK 和 tomcat。

package {
    [ "openjdk-6-jdk", "openjdk-6-doc", "openjdk-6-jre",
      "tomcat6", "tomcat6-admin", "tomcat6-common", "tomcat6-docs", 
      "tomcat6-user" ]:
    ensure => present,
}
Run Code Online (Sandbox Code Playgroud)

现在我想补充

JAVA_HOME="/usr/lib/java"
export JAVA_HOME
Run Code Online (Sandbox Code Playgroud)

/etc/profile,只是为了解决这个问题。我还没有在文档中找到直接的答案。有没有推荐的方法来做到这一点?

一般来说,我如何告诉 puppet 将这个文件放在那里或修改那个文件?我将 puppet 用于单个节点(在独立模式下)只是为了尝试并保留服务器设置的日志

linux bash java puppet

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

将 bash -x 输出发送到日志文件而不中断标准输出

有没有办法通过运行带有 -x 选项的 bash 脚本将显示的信息发送到文件,同时不更改运行脚本的用户看到的标准输出?

这是我想在我们经常使用的 bash 脚本中实现的调试功能。

非常感激。

scripting linux bash debugging

16
推荐指数
2
解决办法
9522
查看次数

无法在 amazon ec2 (Amazon Linux) 中输入小写的 e

在我的新 ec2 版本上运行几天后,发生了以下情况:

  1. 我登录 SSH,一切正常,我开始编码
  2. 我第二天回来,登录SSH
  3. 我不能再输入小写字母e了——输入时出现错误提示
  4. 我尝试从另一台计算机 ssh,同样的问题
  5. 我重启服务器,同样的问题
  6. 我打开nanovie工作正常,只是没有在bashsh
  7. 我终止了服务器,创建了一个新的,从头开始安装,几天后它又发生了

这令人费解!我什至可以从哪里开始进行故障排除?

我的本地机器设置:

  • 视窗 XP 或 7
  • 腻子(最新)或 cygwin/openssh

EC2 设置

stty -awhile I can't type an 的输出e

sh-4.1$ stty -a
speed 38400 baud; rows 30; columns 95; line = 0;
intr = ^C; …
Run Code Online (Sandbox Code Playgroud)

ssh bash amazon-ec2 sh

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

在bash中使用主字符(~)检查目录是否存在失败

为什么以下bash检查目录是否失败?

if [ ! -d "~/Desktop" ]; then
   echo "DOES NOT EXIST"
   exit 1;
fi
Run Code Online (Sandbox Code Playgroud)

~/Desktop确实存在。顺便说一下,这是在 Mac 上。


问题在于这种类型的脚本

read -p "Provide the destination directory: " DESTINATION

if [ ! -d $DESTINATION ]; then
    echo "\t'$DESTINATION' does not exist." >&2;
    exit 1;
fi
Run Code Online (Sandbox Code Playgroud)

bash

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

如何测量进程从执行开始到结束的累积网络使用情况

我想测量使用了多少带宽git pull,最好是在 git 命令前面加上所需的程序,即nettally git pull

或者,是否有一些偷偷摸摸的方法来累积 nethogs/wireshark 数据并在执行后将数字相加?

谢谢

networking linux bash wireshark linux-networking

16
推荐指数
2
解决办法
2789
查看次数

如何在 bash 脚本中添加 SSH 已知主机?

我正在创建一个 bash 脚本来配置一个新服务器,我可以将一个 Web 应用程序部署到该服务器。我总是必须做的一件事是将 GitHub 视为使用ssh git@github.com. 如何在 bash 脚本中自动执行此过程,并以幂等方式执行此操作?

ssh bash

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

'which'有内置的bash吗?

我一直在测试最小的 Fedora 安装。要检查 python 或 node 等解释器的路径,我通常使用which.

我注意到which默认情况下未安装。我可以添加这个包,但我想知道是否有一个内置的 shell 可以用来执行这个常见的任务。

我正在使用 bash 4.2。

bash

16
推荐指数
2
解决办法
1066
查看次数

检查PID是否正在运行的正确方法是什么?

我有一个.pid文件,我需要检查进程是否正在运行。到目前为止,我发现了两个选项

kill -0 `cat something.pid`
Run Code Online (Sandbox Code Playgroud)

如果 pid 未运行,则会打印出错误。我知道这可以重定向到/dev/null,但这让我认为这不是最好的解决方案。

第二种解决方案是使用ps,但是它也会在 STDOUT 上打印

ps -ef `cat something.pid`
Run Code Online (Sandbox Code Playgroud)

将输出重定向到/dev/null并仅使用返回的状态代码是否正常,或者这是否表明我做错了什么,我需要一个不同的命令?

linux unix bash process pid

15
推荐指数
2
解决办法
6万
查看次数

可以禁用“您在 /var/mail/root 中有新邮件”吗?

我想在 FreeBSD 9.1 中禁用邮件检查。我的登录 shell 是 BASH,所以我尝试添加

unset MAILCHECK
Run Code Online (Sandbox Code Playgroud)

/root/.bashrc和 中/root/.profile,但我仍然收到这些消息。

有没有办法摆脱这些消息?

freebsd bash

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