我正在尝试在我运行的服务器上设置一些东西,每当我cd
进入public_html
文件夹时,95% 的时间我都会运行一些命令来检查某些事情。
无论如何我可以挂钩,cd
所以如果目录是 a public_html
,它会自动为我运行命令吗?
如果我无法进入cd
命令,我还能做其他事情来实现我所追求的结果吗?
我正在运行 CentOS 5.8。
我目前正在学习 Linux 脚本,我可以做的一件事是将命令输出分配给变量。命令service httpd configtest
返回Syntax is OK
,所以我写了这个。
#!/bin/bash
var=`service httpd configtest`
echo "Output is $var"
Run Code Online (Sandbox Code Playgroud)
从我读过的内容来看,应该将输出存储在 中var
,然后回显它。但是,运行该脚本时的输出是
Syntax OK
Output is
Run Code Online (Sandbox Code Playgroud)
我做错了什么?如果有区别的话,我正在使用 CentOS 6.5。
我想列出正在运行的所有进程,我正在使用ps aux
, 或ps auxf
,但我也想获得所有进程的经过时间。我见过ps -o etime,cmd
显示经过时间的命令和命令,但它似乎没有列出所有这些。我可以结合aux(f)
和-o etime
吗?
我有一个小脚本,我想一直运行直到 I Ctrl+ C。我看到了一些使用 的建议,我看到watch
的小例子工作正常,但我无法让它为我工作。
这是我的脚本
echo -en "\nQueued forks: "$(( $(ls -lash /var/www/data/forked/* | wc -l) - 10 ));
echo -en "\nRunning fork processes: "$(ps -ef | awk '$8 ~ /jsfork*/ {print}' | wc -l)"\n\n";
ps auxfww;
if [ -e /var/www/data/logs/fork.log ]
then
echo -en "\n\nErrors:\n"
more /var/www/data/logs/fork.log
else
echo -en "\n\nNo errors.\n\n"
fi
Run Code Online (Sandbox Code Playgroud)
我见过的所有示例都是粗略的watch -n x 'do something'
,但是由于我的脚本已经包含'
在其中,因此仅将其包裹起来是行不通的。
无论如何我可以使用watch
我的脚本吗?
我不确定操作系统在这种情况下是否有很大的不同,但它在 Ubuntu 12 上运行