【问题标题】:Need to run ksh script in windows korn shell需要在 windows korn shell 中运行 ksh 脚本
【发布时间】:2018-12-24 19:27:02
【问题描述】:

我是 korn shell 的新手,我正在尝试运行 ksh 脚本来杀死我的服务器中所有 3 天前的进程,这对于直接输入很有用,但是当我把它放在 for look 脚本中时出现错误,有人请帮忙。 仅供参考,korn shell 安装在 Windows 服务器中。

> cat test.ksh
#! /usr/bin/ksh

for i in {ps -eo etime,pid,args | awk -F- '$1>3{print}' | grep -i read_ini | awk '{print $2}'}
do
kill -9 $i
done

LCQU@SETOPLCORA01Q [/dev/fs/E/home/serora]
> ./test.ksh
./test.ksh[3]: syntax error: `|' unexpected
LCQU@SETOPLCORA01Q [/dev/fs/E/home/serora]

> ksh test.ksh
test.ksh[3]: syntax error: `|' unexpected
LCQU@SETOPLCORA01Q [/dev/fs/E/home/serora]

> ls -l test.ksh
-rwxrwx---  1 jagadee  Domain Users  133 Dec 24 13:16 test.ksh

【问题讨论】:

  • 结果可以为空。所以你会得到这样的错误。但在重试之前想想init 进程!!!顺便说一句,在 Windows 中你会错过很多程序,如 psawkgrep

标签: linux shell unix ksh


【解决方案1】:

不要将{} 使用$() 用于子进程:

for i in $(ps -eo etime,pid,args | awk -F- '$1>3{print}' | grep -i read_ini | awk '{print $2}')
do
   kill -9 $i
done

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-05
  • 1970-01-01
  • 2011-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多