Se você puder, faça o aplicativo usar a sintaxe sh em vez da sintaxe csh. O Csh é usado por muito poucas pessoas neste século e geralmente não é instalado por padrão. Sh é o padrão. Na verdade, para um comando tão simples, você nem precisa se preocupar com o shell: basta chamar o programa env
.
rsh MACHINE "env DISPLAY=machine:0 TESTVALUE1='test' scenTime=0 simName='name' /devel/test/run.sh"
Se você não pode alterar o aplicativo, mas o seu shell é bash, você pode usar um capricho do bash: quando ele é um shell de login não interativo e quando o processo pai é rshd
ou sshd
, bash é executado ~/.bashrc
(que também é o arquivo carregado por shells interativos que não são de login). Você poderia colocar isso no seu .bashrc
para definir uma função setenv
para emular o csh:
if [[ $- != *i* ]]; then
# Non-interactive shell
setenv () {
export "$1=$2"
}
return
fi