let atexit="history > ~/.history"」と定義すれば、終了時に ~/.history というファイルにヒストリが自動保存されます。
NYAOS は、bash や csh のようにワイルドカード展開をしてくれないのですか?
常に展開を行わせることはできません。なぜなら rename コマンドによる拡張子一括変換が使えなくなるなど、弊害があるからです。コマンド単位でワイルドカードの展開の指定ならば、「alias foo="foo %+*"」などと定義すれば可能です。alias での %+* はワイルドカード展開をさせるマクロです。スラッシュなどの変換も同時に行う「%+@」等もあります。詳しくは、NYAOS.DOCを参照ください。
プロンプトに NYAOS の拡張マクロを使用すると、何かのタイミングで CMD.EXE を使う時にみっともなくなります。
環境変数は PROMPT ではなく、NYAOSPROMPT を使ってください。あるいは「let PROMPT=...」とする手もあります。
COPY命令でのファイルの連結(COPY ファイル名1+ファイル名2+…)や、SET PATH=などでのディレクトリの列挙で、パス名の補完をしたいのですが
「let NOTPATHCHAR="+;"」を実行してください。
そうすれば、「+」や「;」が補完対象文字から除かれます。つまり、補完の際に空白と同じような扱いをされるということです。ただし、これは NYAOS 1.59 以降の機能です。
外部コマンドによって、カレントディレクトリを変更したいのですが…
(2000/07/08 改訂)
原則的には出来ません。
1.62+(2000/07/22版スナップショット)より出来るようになりました。名前付きパイプに「cd ディレクトリ名」などという文字列を渡すと、NYAOS のカレントディレクトリを変更することができます。パイプのパス名は環境変数PIPE2NYAOS にが格納されています。詳しくは、マニュアルの「8.子プロセスからの環境操作」の節をお読みください。
source を使わず、外部コマンドによって、環境変数を変更したいのですが…
(2000/07/08 改訂)
カレントディレクトリの変更と同様の方法で可能です。パイプに「set 環境変数名=値」という文字列を %PIPE2NYAOS% の示す名前付きパイプへ書き込んでください。
echo set 環境変数名=値 > %PIPE2NYAOS%
ファイラーやエディターより NYAOS を呼び出すと、画面をクリアしてしまうので、それまで表示していた情報が消えてしまいます。
(1999/12/16 追加)
「nyaos -q」すれば、画面クリアもしませんし、NYAOS のロゴも表示されません。nyaos.rc 内の命令が何か表示したりしますが、それくらいは「> nul」をくっつけるなりして自分で処置しましょう。
「canna.dll loaded.」の表示も、1.61 以降では nyaos -q
で表示を抑制されます。
COMSPEC に NYAOS を指定したいんですが、可能ですか?
(2000/2/5 追加)
可能です。ただし、推奨はしません。
環境変数 EMXSHELL に CMD.EXE のパスを指定しておいてください。
他のプログラムを起動した時にタイトルバーを変化させて欲しいのですが
(2000/5/25 追加)
今のところ、ちゃんとしたやり方が分かりません。API は分かっているのですが、特殊なケースでしか、実際にタイトル文字列を変えられないようです。その特殊なケースとは、NYAOSの起動アイコンにアイコンタイトルが無い場合などがあります。タイトル文字を動的に変える、いい方法があれば、どなたか教えてください。