問題タブ [pdksh]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
arrays - pdksh (パブリック ドメインの kornShell) は連想配列をサポートしていますか?
私は最近、連想配列が私の問題を解決するいくつかの bash シェル プログラミングを実行している壁にぶつかりました。KornShell (ksh) の機能についてググったところ、連想配列に対応していることがわかり、Cygwin の pdksh (Public Domain KornShell) をインストールしました。
しかし、連想配列を所定の方法(typeset -A varName)で作成しようとすると、以下のようなエラーが出て、pdkshが連想配列をサポートしていないのではないかと疑い始めています。
代わりに Perl を検討していると思いますが、私にとって新しい方言/言語を学ぶための良い口実が本当に欲しかったのです。
ksh - ksh93 で再帰を使用するときの奇妙な動作
ディレクトリを再帰的に通過するときに、ksh93 でいくつかの問題に直面しています。
いくつかのファイルとディレクトリを作成します。
ksh93 スクリプトを使用して実行します。
ksh93でこの出力を作成します
pdksh/bashを使用するとこれが作成されます
誰かが回避策を知っていますか?または、ksh93 を正常に動作させるスイッチは存在しますか?
shell - KornShellスクリプトでネストされた関数呼び出しと組み合わせたエクスポートとタイプセットの違いの説明はありますか?
ksh88 と ksh93 で実行される KornShell (ksh) スクリプトで問題が発生しました。この問題では、関数を呼び出す関数の処理が異なり、変数は typeset と export で宣言されます。違いを強調するスクリプトの例を次に示します。
ksh93 を実行している Linux ボックスで実行した場合の結果は次のとおりです。
TEST_VALUE がタイプセットされるとわかるように、制御が外部関数に戻ると、内部で設定された TEST_VALUE の値が失われます。export によって TEST_VALUE が宣言されている場合、制御がアウターに戻ったときに、インナーに設定された値が保持されます。
外側の関数が内側の関数を呼び出すときに呼び出される新しいプロセスがないため、変数がサブ関数のスコープを維持するためにエクスポートを使用する必要がある理由がわかりません。また、typeset -x は typeset と同じように動作することに注意しましたが、typeset -x は export と同等であると予想していました。
ksh88 (AIX、Solaris、HP-UX)、pdksh (Linux)、または MKS ksh、typeset、typeset -x、および export を実行しているマシンでこのプログラムを実行すると、この例では同じように動作します。
今のところ、ksh88 で開発およびテストされた同様のコードを使用するプログラムに ksh93 での互換性を提供するために、typeset を export に変更しました。
おそらくこれはksh93の欠陥ですか?
unix - cygwin : pdksh(5.2.14-3) はバックスラッシュ パス (\) をサポートしていません
cygwin での ksh の代替として、pdksh が唯一の選択肢かもしれません。しかし、cygwin にはバグがあるようです: バックスラッシュ パス (\) をサポートするための pdksh(5.2.14-3)。
\ を飲み込みます:
インターネットで検索した後、他のプラットフォームでも同じ問題が解決しました。しかし、cygwinでそれを解決する方法がわかりません。
arrays - (pdksh) n 個のファイルをループし、それらの日付を配列に格納する
pdksh の使用
stat()
コマンドはシステムで使用できません。
見つかったファイルの量をループして、それらの日付を配列に保存する必要があります。$COMMAND
以下に示すように、で見つかったファイルの数を格納し$location
ます。
誰か助けてくれませんか?
ksh - KSH93 で POSIX モードを有効にする方法
SHELL pdksh のタイプの Redhat 5.11 マシンで実行されているスクリプトがあります。
ただし、KSH93 シェルを使用して Redhat 7.1 で同じスクリプトを実行すると、次のエラーが表示されます。
./script.ksh[212]: セット: posix: 不適切なオプション 使用法: セット [-sabefhkmnprtuvxBCGH] [-A 名前] [-o[オプション]] [引数 ...]
エラーを生成する行は次のとおりです。