qsub中的别名命令

时间:2012-08-03 09:33:18

标签: linux bash qsub sungridengine

使用qusb的-V选项仅导入环境变量,但不导入.bashrc中的别名。例如

### in .bashrc
alias ll='ls -ltr'
alias la='ls -A'
export PYTHONPATH=/local/python_other:$PYTHONPATH

并且qsub脚本是

#!/bin/sh    
#$ -V
echo $PYTHONPATH
ls
ll
la

在这种情况下,echo $PYTHONPATHls工作正常但llla错误ll: command not found。 那么如何在qsub中导入别名命令呢?

OR是alias的更好替代品,以便命令(llla)的行为类似于ls,并且可以轻松导入

2 个答案:

答案 0 :(得分:2)

别名旨在成为命令行便利。它们不适合用于脚本编写。在大多数情况下,您应该使用函数。函数可以导出到子Bash脚本,但不太可能导出到其他环境。

也就是说,您可以尝试在qsub脚本中明确地采购~/.bashrc

. $HOME/.bashrc

source $HOME/.bashrc

我不知道qsub支持哪些内容。

答案 1 :(得分:1)

如果您不以交互模式运行脚本,则不会解释

~/.bashrc。 您必须在

上切换交互模式
#!/bin/bash -i

或者更好的是在脚本开头明确导入~/.bashrc

. ~/.bashrc