スクリプトを実行すると、次のメッセージが表示されます。厳密に言えば、その後も実行が続くので、エラーではありません。
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'
fc
、history
で1つを探しますr
。