小编Top*_*pas的帖子

在bash脚本中使用ksh shebang

我们将执行从unix到Linux的迁移.排版-L仅适用于ksh

我创建了以下文件:

#!/bin/ksh -u

echo $SHELL
typeset -L21 RUN_LOGL="LOG_FILE    "
Run Code Online (Sandbox Code Playgroud)

通常,shebang应该指出正确的解释器(ksh).但是当我以bash方式调用脚本时:

$ . test.ksh
Run Code Online (Sandbox Code Playgroud)

输出是:

/bin/bash

-bash: typeset: -L: invalid option

typeset: usage: typeset [-aAfFilrtux] [-p] name[=value] ...
Run Code Online (Sandbox Code Playgroud)

脚本是bash方式的解释器,并且不接受typeset -L.而如果我只是打电话

$test.ksh
Run Code Online (Sandbox Code Playgroud)

它运行正常.

我们调用脚本(bash方式还是ksh方式)的重要性是否足以忽略shebang?

先感谢您.

bash

0
推荐指数
1
解决办法
696
查看次数

标签 统计

bash ×1