system management
1753550 メンバー
5501 オンライン
108795 解決策
新規ポスト

hptermでaliasを有効にするには

 
けんぶ
新しいメンバー

hptermでaliasを有効にするには

HP-UX11.0のサーバーにReflectionXという端末エミュレータ

にて接続しております。

hpterm or dttermを起動した場合に、$HOME/.profileに

記述した、alias が有効になりません。

exportで設定した環境変数は、有効になっているので、

.profileは、読まれていると思います。

また、hpterm起動後、コマンドラインで手入力した場合は有効になります。

ちなみに、ログインシェルは、kshです。

原因または解決策をご存知でしたら、ご回答下さい。

宜しくお願い致します。

5件の返信5
isao
頻繁なアドバイザー

hptermでaliasを有効にするには

確か、hpterm、dttermを起動したときは、.profileは読まれないと思います。

CDEの起動時に.profileが読み込まれていますから、そのときに設定された環境変数が引き継がれているのだと思います。

hptermに“+ls”のオプションを付けて起動したら、.profileが読み込まれませんか?

私は、aliasの設定は、以下のようにして.kshrcなどに入れてあります。

.profileに ENV=$HOME/.kshrc の一行を追加

$HOME/.kshrcを以下のように設定

case "$-" in ## for interactive shell

*i*)

alias ls='ls -F'

;;

esac

isao
頻繁なアドバイザー

hptermでaliasを有効にするには

訂正します。

hptermのオプションは、"+ls"ではなく、“-ls”でした。

$ hpterm -ls

けんぶ
新しいメンバー

hptermでaliasを有効にするには

isao 様

早速のご回答ありがとうございます。

お陰様で問題解決しました。

<参考までに>

hptermの"ls"オプションは、付加の有無やプラスマイナス関係なく

OKでした。ただ私の環境では、"-ls"を付けて起動した場合は、

表示画面にゴミが残ります。

また、恥ずかしながらシェルに詳しくないもので

case文の"$-"と*i*の意味を教えていただけませんでしょうか?

> case "$-" in ## for interactive shell

> *i*)

> alias ls='ls -F'

> ;;

> esac

宜しくお願い致します。

isao
頻繁なアドバイザー

hptermでaliasを有効にするには

$- は、ksh起動時に渡される引数のリスト、あるいはsetコマンドで設定されるパラメーターリストをあらわします。

起動時には、kshのオプションが設定され、"ims"などの文字列がセットされています。ここで、重要なのは、対話型の場合必ずセットされた文字列に"i"が入っていることです。aliasは、対話型で起動された場合以外に必要はありませんから、case文でkshが対話型で起動されたかどうかを調べています。

けんぶ
新しいメンバー

hptermでaliasを有効にするには

isao様

ご説明ありがとうございました。

たいへん勉強になりました。