最近、ksh93 シェルに切り替えました。これを行うには、次の 2 行を .profile ファイルに追加しました。
export SHELL=/usr/local/bin/ksh93
exec $SHELL
私がそれを行って以来、いくつかの単純なスクリプトが、私が理解できない方法で誤動作し始めました。say と呼ばれる次の単純なスクリプトに絞り込みましたtest.sh
#!/bin/ksh
echo $0 $1
コマンドtest.sh fred
を入力すると、同じ出力が表示されるはずtest.sh fred
です。代わりに私は見るtest.sh noglob
。シバンを削除するか、読み取りに変更すると#!/usr/local/bin/ksh93
、スクリプトは期待どおりに機能します。
何が起こっているのか、またはそれに対して何をすべきかを誰か説明できますか? 私は困惑しています。
違いがある場合は、Solaris 5.9 を使用しています。