首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Oracle/Sun GridEngine中执行bash脚本

在Oracle/Sun GridEngine中执行bash脚本
EN

Stack Overflow用户
提问于 2013-08-02 13:37:17
回答 2查看 378关注 0票数 1

我有一个脚本,它首先定义一系列变量,然后再使用这些变量运行一个程序。但是,脚本正在从Grid Engine中被拒绝(它在工作站上工作,但作为数组作业的一个组件,它需要通过SGE运行),因为变量被读取为命令,从而产生“命令未找到”响应。

使用以下方法完全再现了该错误:

代码语言:javascript
复制
#!/bin/bash
#$ -M not.real@email.address
#$ -m be
#$ -o /scratch/MScGWAS/Output
#$ -e /scratch/MScGWAS/Errors
#$ -q long.q
#$ -cwd
CHR=$1
CHUNK_START=`printf "%.0f" $2`
CHUNK_END=`printf "%.0f" $3`

输出示例:

代码语言:javascript
复制
CHR=1: Command not found.
CHUNK_START=1: Command not found.
CHUNK_END=5000000: Command not found.

如何让GridEngine使用bash作为此脚本的解释器?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-16 14:25:35

听起来,网格引擎集群配置了posix_compliant模式下的队列,/bin/csh作为默认shell。在posix_compliant模式下,初始#!将被忽略,您需要通过命令行开关或使用适当的#$指令指定shell。将以下行添加到脚本中应该有效:

#$ -S /bin/bash

票数 1
EN

Stack Overflow用户

发布于 2013-08-02 13:41:06

您不是用bash执行脚本,而是使用不同的shell (例如tcsh)执行脚本。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18018292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档