csh 脚本返回正在运行的进程数

csh 脚本返回正在运行的进程数

我想将正在运行的特定进程的编号设置为变量。下面的 csh 脚本的第一行存在问题,因为它将变量“number”设置为而ps aux | grep -c fiji不是输出ps aux | grep -c fiji应为 1。

#!/bin/csh

set number = 'ps aux | grep -c fiji'

if ( $number <= 1 ) then
(I run a command here)
else
echo $number
endif

答案1

您应该使用反引号 (`),而不是单引号 (')。此脚本

#!/bin/csh

set number = `ps aux | grep -c fiji`

echo $number

印刷1

答案2

一般备注:您的命令将始终返回 1 或更多,包括您为 grep 运行的进程。因此您需要在评估后处理这个问题,或者使用 pgrep 之类的东西。

然后是 csh。看看http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/。 和http://www.grymoire.com/Unix/CshTop10.txt

仍然想使用 csh ;-) 吗?

相关内容