如何指定零参数

时间:2012-08-23 19:40:07

标签: bash

我正在编写一个bash脚本,它将tcsh解释器作为登录shell启动并让它执行my_command。 tcsh手册页说有两种方法可以启动登录shell。第一种是使用/bin/tcsh -l而没有其他参数。不是一个选项,因为我需要shell来执行my_command。第二种是将短划线(-)指定为零点参数。

现在带有exec选项的bash -l命令就是这样做的,事实上以下工作完美无缺:

#!/bin/bash
exec -l /bin/tcsh -c my_command

除了......我不能使用exec因为我需要脚本回来后再做一些其他事情!那么如何在不使用-的情况下将/bin/tcsh指定为exec的零参数?

2 个答案:

答案 0 :(得分:2)

您可以将exec命令括在脚本的子shell中。

#!/bin/bash
(exec -l /bin/tcsh -c my_command)
# ... whatever else you need to do after the command is done

答案 1 :(得分:1)

您可以编写包含以下内容的包装器(w.sh)脚本:

#!/bin/bash
exec -l /bin/tcsh -c my_command

并在主脚本中执行w.sh。