标签: bash

Nohup linux 命令等待额外的返回,我该如何防止?

我在 bash 脚本中运行以下内容:

nohup java server_program.jar &
Run Code Online (Sandbox Code Playgroud)

我希望它开始运行并继续其快乐的方式。但是,出于某种原因,它说它正在忽略输入等并等待额外的返回键击。我可以删除此等待或从 bash 脚本中发送额外的返回吗?

linux bash nohup

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

在 shell 脚本中处理带空格的文件名

如何在 shell 脚本中处理名称中包含空格的文件。

这是我正在尝试的

    find /abc/xyz -name 'BY567*.csv' | while read fname
    do
        mv "$fname" ./archive/$(basename $fname)-$(date +%Y%m%d-%T)
    done
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,它会在空格后去掉文件名。就像文件名是 BY567_Test file.csv 一样,它将更改为 BY567_Test-datetimestamp 而不是 BY567_Test file.csv-datetimestamp。

shell bash

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

Bash 脚本:检测一个月的第一天

我写了三个 bash 文件:

  1. incremental_backup
  2. full_backup
  3. execution

现在我想要另一个 bash 脚本执行以下操作:

if (date is the start of month 1/-/----)
then     
    invoke `full_back_up`
else
    invoke `incremental_backup`
Run Code Online (Sandbox Code Playgroud)

我该如何编写这个脚本?

linux bash command-line-interface date

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

MySQLadmin 删除数据库 - bash 脚本

我有一个 bash 脚本,它下载一个 sql.gz 文件,提取它然后导入它,但是在导入之前,我删除了现有的数据库,然后将新的数据库导入到服务器上。

一切都很好,脚本完成了它应该做的事情,只有一件事:
我的 bash 脚本中有这个语句:
mysqladmin -uroot -ppassword drop dbname
然后等待用户输入y or n以继续。

有什么方法可以输入,Y所以它总是说是并自动完成脚本。我是 bash 脚本的新手(v.new)。

谢谢亲切的问候

mysql bash

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

ssh 到多个主机和 sudo 多个命令

我需要循环和 ssh 到多个主机并在每个主机上运行一系列命令。

就像是:

for i in $(jot -w '%02.0f' 14 1)
>do ssh user@host$i sudo -i "command1; command2; command3"
>done
Run Code Online (Sandbox Code Playgroud)

但我无法让它正常工作。我在 Google 上看到了各种各样的东西,比如sudo sh -c管道到 sudo 等,但无法弄清楚。

  • 我是 ssh 的普通用户,可以在没有密码的情况下使用 sudo(ssh 作为 root 未启用)
  • command1 不返回 0 不应阻止 command2 运行等,因此 ;
  • 我正在从 mac 运行循环,因此jot -w,这大致相当于seq -f在 linux 中
  • SSH 到 CentOS 5.4
  • 我希望它与 root 的 $PATH 一起运行,所以我不必指定命令的完整路径,但这并不是完全必要的

提前致谢!

linux bash mac-osx sudo

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

如何在 linux 中递归地将 dos2unix 转换为 *.tpl?

是否有这样的选项,以便可以将 dos2unix 递归应用于匹配文件?

linux bash

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

请解释一下这个 BASH 代码(一行)

以前从未见过在 BASH 中使用过这个:

pidfile=${PIDFILE-/var/run/service.pid}

我以前从未见过/使用过的${PIDFILE-部分是部分。

linux shell bash command-line-interface

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

文件名以 * 开头

我有脚本,它必须通过文件才能从中获取特定行。文件名从变量中获取,例如 $FILENAME ,我们有这样的情况:

猫 /path/$FILENAME

但是当FILENAME==*.some.file出现问题时。文件*.some.file确实存在,但 cat 通过掩码*.some.filefirst.some.file second.some.file *.some.file fourth.some.file等等)单引号在路径上列出所有文件,防止包含变量。

任何想法如何cat(或grep)只有一个*.some.file

bash

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

传递变量问题 - Bash

我有以下问题:

#!/bin/bash
NUM=`cat accounts | wc -l`;
for i in {1..$NUM}
do
   account=`awk "NR==$i" accounts`;
    echo -e "\nAccount: $account\n";
  sudo ./backup_maildir $account;
done
Run Code Online (Sandbox Code Playgroud)

“accounts”是一个包含常规电子邮件地址的文件,每行一个。
backup_maildir 是期望脚本。

执行主脚本时,第 6 行成功回显当前邮件地址,但下一行没有将该字符串传递给 backup_maildir 脚本。如果 $account 变量是 user@domain.com,则传递给 backup_maildir 的字符串是 {user@domain.com?} ?! 这怎么可能?如何解决?

scripting bash sudo awk

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

从 bash shell 监视自定义 Java HTTP 服务器?

如何从 bash shell 监视服务端口?

我想监视 Java 服务(在端口 9090 上每分钟一次),然后如果该服务没有响应简单的 HTML 消息,则调用“/etc/init.d/myservice -restart”。

你会怎么做这样的事情?

我的想法是使用类似的东西:

wget -O - --no-check-certificate --progress=dot https://localhost:9090
Run Code Online (Sandbox Code Playgroud)

或者

curl --insecure https://localhost:9090
Run Code Online (Sandbox Code Playgroud)

linux bash init

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

标签 统计

bash ×10

linux ×6

command-line-interface ×2

shell ×2

sudo ×2

awk ×1

date ×1

init ×1

mac-osx ×1

mysql ×1

nohup ×1

scripting ×1