我想将正在运行的特定进程的编号设置为变量。下面的 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 ;-) 吗?