标签: scripting

$* vs $@ linux 中的位置变量

linux 中 $* 和 $@ 位置变量有什么区别。我在某处读到使用 $* 是安全风险。是真的吗。

scripting linux

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

计算单行 CSV 文件中的项目数?

我有一个文件,其中包含一长串以逗号分隔的数字,如下所示:

2,8,42,75,101
Run Code Online (Sandbox Code Playgroud)

获取此文件中数字计数的最简单命令(来自 Unix shell)是什么?在上面的示例中,这将是5.

scripting unix-shell csv

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

如何防止“for”分割目录名?

我正在尝试使用“for”循环列出所有隐藏目录:

for i in ``ls -a | grep '^\.'` `;
do 
    echo $i
done
Run Code Online (Sandbox Code Playgroud)

问题是循环将一些目录名称一分为二。

例如:ls -a | grep '^\.'给我

.
..
.Deleted Items
.Drafts 
.Junk
.Junk E-mail
.Sent
.Sent Items
.Trash
Run Code Online (Sandbox Code Playgroud)

但我的循环给了我:

.
..
.Deleted
Items
.Drafts
.Junk
.Junk
E-mail
.Sent
.Sent
Items
.Trash
Run Code Online (Sandbox Code Playgroud)

如何改进我的脚本,使其不划分目录名称?

scripting linux bash

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

如何在 BASH 脚本中为有时变得不活动的进程设置超时?

我有一个 bash 脚本,它通过 CRON 运行很多命令/工具,比如 convert 或 pdftk。

例如 pdftk 变得“陈旧”或“挂起”并且调用脚本停止继续进行的情况经常发生。

bash 脚本中是否有一种简单的方法(通过陷阱?)来设置执行时间限制或检测特定调用的不活动状态(根据任何定义)?

scripting bash

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

将 bat 转换为 sh

我对在 linux 中编写脚本完全陌生……所以我想将一些简单的窗口 bat 文件移植到 ubuntu。

第一个文件很容易

  setenv.bat
    set ANT_HOME=c:\ant\apache-ant-1.7.1
    set JAVA_HOME=c:\java
Run Code Online (Sandbox Code Playgroud)

在 linux 中我做了这个,看起来没问题

  setenv.sh
      #!/bin/bash
    JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.24/
    ANT_HOME=/usr/share/ant
    echo $JAVA_HOME
    echo $ANT_HOME
Run Code Online (Sandbox Code Playgroud)

但现在我想移植这个 bat 文件:startserver.bat

call ../config/setenv

call %ANT_HOME%/bin/ant -f ../config/common.xml start_db
call %ANT_HOME%/bin/ant -f ../config/common.xml start_server


pause
Run Code Online (Sandbox Code Playgroud)

但我不知道如何在 linux call ../config/setenv 中做到这一点

感谢您的任何帮助,方向。

scripting windows ubuntu

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

尾巴-100 catalina.out | 邮寄到某处

试图吐出 catalina.out 的最后 100 行并将它们通过电子邮件发送给我自己。有人可以建议一个关于如何做到这一点的快速oneliner吗?

我只能想出类似的东西:

tail -100 catalina.out | /bin/mail -s blah myemailaddress
Run Code Online (Sandbox Code Playgroud)

scripting linux

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

移动文件和文件夹,除了少数

将一台服务器的站点移动到另一台服务器时,我犯了一个可怕的错误。我们使用 virtualmin 在新服务器中创建了虚拟主机。但是在将文件从旧服务器恢复到新服务器时,我错误地复制了“/home/VIRTUALHOSTS-NAME/”而不是“/home/VIRTUALHOSTS-NAME/public_html”中的所有文件。现在我必须将所有文件从虚拟主机的主目录移动到 public_html 目录,除了几个默认文件夹,如:fcgi-bin、public_html、awstats、cgi-bin 等。这可以用 shell 脚本或任何带有管道的命令自动化吗?

scripting shell

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

自看门狗脚本

有没有人写过一个自我看门狗脚本并且可以分享它的解决方式?我在其中一台路由器上安装了 DD-WRT,并且只能制作一个启动脚本。问题是跑不起来。如果我通过 telnet 登录并手动启动它,效果很好。所以我需要添加一个 cron 规则来运行它,但不能多次运行。我正在考虑使用:

if [`ps | grep [c]ustom.sh` -gt 1]; then
    exit;
else
    ...
fi
Run Code Online (Sandbox Code Playgroud)

你知道有什么其他方法可以做到这一点吗?

scripting linux bash watchdog

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

是否可以使用脚本更改 Windows 主机名(NetBIOS 名称)?

如何使用脚本更改 Windows 服务器的主机名?

在 Linux 服务器上执行此操作非常简单(更改几个文件条目,然后运行hostname命令),但我不知道如何或即使可能以自动方式更改 Windows 上的主机名。

具体来说,我正在寻找一种在 Windows 2008 R2 上执行此操作的方法,但通用方法也很棒。

我找到了 XP 的技术说明,但还没有在 2k8 机器上尝试过 - 它仍然有效吗?

整个上下文是能够在部署后从 VMware 模板更改服务器的名称,而无需使用自定义规范。

automation scripting hostname windows-server-2008-r2

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

如何将输出重定向到 Bash 中的一行?

假设我们在 Linux shell 中在一行上运行两个程序,如下所示:

who -r; date
Run Code Online (Sandbox Code Playgroud)

我应该添加什么以获得一行输出?

scripting bash

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