Kshスクリプト警告[閉じる]

Kshスクリプト警告[閉じる]

スクリプトを実行すると、次のメッセージが表示されます。厳密に言えば、その後も実行が続くので、エラーではありません。

myScript -s test -u test2
pk_copylogs[2]: hist: :: not found

しかし、なぜこのメッセージが表示されるのか知っていますか?

ベストアンサー1

このhistコマンドはkornシェル(ksh93)組み込みコマンドで、bashでは使用できません。

あなたのスクリプトはkshではなくbashで実行されているようです。

ksh$ command -V hist
hist is a shell builtin   

bash$ command -V hist
bash: command: hist: not found

以下を試してください。

$ ksh myScript -s test -u test2

または:

$ SHELL=ksh ksh myScript -s test -u test2

ただし、histこのコマンドは通常対話型モードでのみ使用され、スクリプトでは使用したくありません。直接呼び出されることはほとんどなく、通常は次のエイリアスの1つとして呼び出されます。

$ alias | grep hist
fc=hist
history='hist -l'
r='hist -s'        

fchistoryで1つを探しますr

おすすめ記事