簡體   English   中英

在bash腳本中使用ksh shebang

[英]using ksh shebang in a bash script

我們將執行從unix到Linux的遷移。 排版-L僅適用於ksh

我創建了以下文件:

#!/bin/ksh -u

echo $SHELL
typeset -L21 RUN_LOGL="LOG_FILE    "

通常,shebang應該指示正確的解釋器(ksh)。 但是當我以bash方式調用腳本時:

$ . test.ksh

輸出為:

/bin/bash

-bash: typeset: -L: invalid option

typeset: usage: typeset [-aAfFilrtux] [-p] name[=value] ...

該腳本以bash方式進行解釋,並且不接受typeset -L。 而如果我簡單地打電話

$test.ksh

運行正常。

我們稱為腳本的方式(bash方式或ksh方式)是否足夠重要,可以忽略shebang?

先感謝您。

. test.ksh

執行腳本。 它正在采購腳本。

采購腳本總是忽略shebang。 shebang僅在執行腳本時使用,例如:

chmod +x test.ksh
./test.ksh

僅當解釋器先前未定義時才使用shebang,例如:

sh myScript.sh

將始終調用您的sh ,並忽略shebang。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM