• ベストアンサー

Solarisでプロンプトの変更方法

Solarisのコマンドプロンプトの変更方法について教えてください。 ユーザの.profileを以下のように修正しました。 ユーザ名やホスト名は出来たのですが、現在いるディレクトリの表示が 出来ません。下記の”$PWD”と言う部分で表示させたいと思っている のですが、色々試してもなかなかうまくいかず・・・。 OSはSolaris8、シェルはshで、シェルの種類は変えられません。。。 ========.profile==================== PS1="[`logname`@`hostname`:`$PWD`]# " PATH=$PATH:/usr/sbin:/usr/bin:/usr/local/bin:/sbin:/usr/ccs/bin:/usr/sfw/bin: export PATH PS1 MANPATH=$MANPATH:/usr/share/man:/opt/VRTS/man export MANPATH umask 022 ========env========================= [root@XXYYZZ:]# env HOME=/ HZ=100 LANG=ja LOGNAME=root MAIL=/var/mail/root MANPATH=:/usr/share/man:/opt/VRTS/man PATH=/usr/sbin:/usr/bin:/usr/sbin:/usr/bin:/usr/local/bin:/sbin:/usr/ccs/bin: PS1=[root@XXYYZZ:]# SHELL=ksh TERM=vt100 TZ=Japan _INIT_NET_STRATEGY=none _INIT_PREV_LEVEL=S _INIT_RUN_LEVEL=3 _INIT_RUN_NPREV=0 _INIT_UTS_ISA=sparc _INIT_UTS_MACHINE=sun4u _INIT_UTS_NODENAME=XXYYZZ _INIT_UTS_PLATFORM=SUNW,Sun-Fire-V240 _INIT_UTS_RELEASE=5.8 _INIT_UTS_SYSNAME=SunOS _INIT_UTS_VERSION=Generic_117000-03 アドバイス、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • uninin
  • ベストアンサー率20% (26/129)
回答No.4

#1でまだ嘘ついてました。 ダブルクォートでなくてシングルクォートで囲まないと代入した時点での値が入っちゃいますね。 それで、その問題はあるにしてもpwdを実行した結果何らかの値は入っててもおかしくなさそうですけど、そういう結果になるのはなぜだろう… 役に立てなくてごめんなさい。 とりあえずUNIX FAQを貼り付けときます。

参考URL:
http://www.nurs.or.jp/~asada/FAQ/UNIX/section2.4.html
Hiro_Ka
質問者

お礼

レスが遅くなり失礼致しました。 xcdのページは以前試してみたことがありましたが、 使用がちょっと不便な感じだったので避けていました(^^; もう少し色々勉強してみます。 ご教授ありがとうございました。

その他の回答 (3)

  • uninin
  • ベストアンサー率20% (26/129)
回答No.3

#1で嘘ついてました。これはkshのケースです。 bashならば、 PS1='\w # ' みたいな感じですね。

Hiro_Ka
質問者

補足

まとめてのレス、失礼致します。 皆さん、アドバイスありがとうございました。 教えて頂いたコマンドでいくつか試した結果を列記いたします。 PS1="[`logname`@`hostname`:`pwd`]# " [root@XXYYZZ:]# PS1="[`logname`@`hostname`:`PWD`]# " -sh: PWD: not found [root@XXYYZZ:]# PS1="[`logname`@`hostname`:"PWD"]# " [root@XXYYZZ:PWD]# PS1="[`logname`@`hostname`:"$PWD"]# " [root@XXYYZZ:]# PS1="[`logname`@`hostname`:`pwd`]# " [root@XXYYZZ:]# とまぁ、いずれもうまく表示できませんでした。 一体何がいけないんのか・・・汗

  • utf7
  • ベストアンサー率29% (11/37)
回答No.2

PS1="[`logname`@`hostname`:`$PWD`]# " となっていますが、PWDに$は不要だと思います。 $を付けると、PWDは変数として見なされてしまうため、実際はその宣言がされていないから何も表示されないと思います。 ですので$を取って、かつPWDを小文字にすれば問題なく表示できると思います。

  • uninin
  • ベストアンサー率20% (26/129)
回答No.1

純粋なBourneShellだとするとよくわからないです。 実体がbashだったりするのなら、 PS1="$PWD # " で良いのでは。 バッククォートで囲む必要はないでしょう。

関連するQ&A

  • はじめてSolarisを使って

    いるのですが LANG=ja LOGNAME=root MAIL=/var/mail/root MAILCHECK=600 OPTIND=1 PATH=/usr/sbin:/usr/bin PS1=# PS2=> SHELL=/sbin/sh TERM=vt100 TZ=Japan # set |grep shell # set | grep -i shell SHELL=/sbin/sh となりましたがこれはB-Shellと解釈していいでしょうか?

  • solarisのmakeについて

    こんにちは。教えて下さい。 solaris7にperl5.6.1をインストールしようとしている所です。 ./configuerを実行したあと、makeをしないといけないようなのですが、 make とやると、「見つかりません」と言われてしまいます。 PATHが通ってないのかと思い、echo$PATH とやると /usr/bin:/usr/sbinと出てきます。 で、ここでmakeを探したのですが見あたらなかったので、 find / -name make としてやると、 /usr/share/lib/make /usr/ccs/bin/make /usr/xpg4/bin/make の三つが見つかりました。 このうち、Linuxでいう/usr/bin/makeにあたる物はどれなんでしょうか。 それとも、私は基本的に何か勘違いをしているでしょうか。 solarisもLinuxもよくわかっていません。 何かアドバイスいただけると嬉しいです。宜しくお願いいたします。

  • バックアップの自動化に出てくる run-parts とは?

    Fedora Core2 にてバックアップの自動化を調べていて、crondを見つけたのですが、run-partsの意味が良くわかりません。コマンドなのかと思って調べてみましたが、よくわかりませんでした。run-partsとはどういった意味があるのでしょうか。 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly

  • シェル変数(path)の挙動がわかりません

    シェル変数の挙動がわからなくて困っています。 以下のような3ファイルがあります。 % cat /tmp/test_config.sh #!/opt/local/bin/zsh path=($path /tmp) % cat /tmp/test.sh #!/opt/local/bin/zsh . /tmp/test_config.sh echo $PATH echo $path /tmp/test2.sh % cat /tmp/test2.sh #!/opt/local/bin/zsh echo $PATH echo $path which test.sh これを、所有者のユーザで実行するのとsu -c で実行するので挙動が変わります。 % /tmp/test.sh /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/local/bin:/opt/local/sbin:/tmp /usr/bin /bin /usr/sbin /sbin /usr/local/bin /opt/local/bin /opt/local/sbin /tmp /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/local/bin:/opt/local/sbin:/tmp /usr/bin /bin /usr/sbin /sbin /usr/local/bin /opt/local/bin /opt/local/sbin /tmp /tmp/test.sh % sudo su - hogehoge -c /tmp/test.sh /bin:/usr/bin:/usr/ucb:/usr/local/bin:/tmp /bin /usr/bin /usr/ucb /usr/local/bin /tmp /bin:/usr/bin:/usr/ucb:/usr/local/bin /bin /usr/bin /usr/ucb /usr/local/bin test.sh not found この挙動の違いは、何から産まれるんでしょう? .zshrc でそういう設定ができるんでしょうか? .zshenv は使ってません。 (なお、環境変数$PATHを使えば目的は果たせると言うのはわかっています)

  • パス(PATH)の設定ファイルについて

    OSはRed Hat Linux 9 を使用しております。 また、シェルはbashを使用しております。 ユーザがシステムにログインする際は、通常ですと /etc/profile ~/.bash_profile ~/.bash_login ~/.profile ファイルを読込、パス(PATH)の設定を行うと思いますが、 sshでrootユーザでシステムにログインした際は、 「echo $PATH」の結果は以下でした。 /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/sbin su -で再度rootユーザでログインした際、もしくは、他ユーザからsu -でログインすると 「echo $PATH」の結果は以下でした。 /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:/root/bin:/sbin ログインの仕方でパス(PATH)に違いがあります。 また、「/usr/local/bin」をパス(PATH)として設定している記述が 上記ファイルに見当たりません。 http://sakaguch.com/PastBBS/0038/B0018808.html http://oshiete1.goo.ne.jp/kotaeru.php3?q=800405 等のサイトを参考に、以下ディレクトリ配下を確認しましても /etc/profile.d /etc/rc.d/init.d /etc/rc.d/rc3.d 「/usr/local/bin」をパス(PATH)として設定している記述が 見当たりません。 ログインの仕方でパス(PATH)に何故違いがあるのか、 また「/usr/local/bin」をパス(PATH)として設定している記述がある ファイルをご存知の方ご教授頂きたく思います。 宜しくお願いします。

  • MacPortsをインストールしたい。

    Mac&Unix初心者です。SnowLeopardを使っています。 MacPortsをインストールする必要があり、パッケージからインストールをしました。 次に環境変数を通そうとし、参考サイトに書かれていたように $vi /etc/bashrc で export PATH=/opt/local/bin:/opt/local/sbin/:$PATH export MANPATH=/opt/local/man:$MANPATH を記述して保存しました。 しかし、 $ sudo port -d selfupdate とやっても -sh: port: command not found となります。 見よう見まねでやっているのですが、何かまずいところがありますでしょうか?また、SnowLeopard固有の方法があるのでしょうか?? ご教授いただければ幸いです。

    • ベストアンサー
    • Mac
  • postfix インストール時のエラー

    Sol10にpostfixをインストールしようとしています。 makeも終わって、make installしようとすると、 > Killed > /usr/local/etc/postfix/post-install: Error: no /usr/local/sbin/postconf command found. というエラーが出ます。 /usr/local/sbinにpostconfってのがないってことだな、と思ってみてみると、 > root# ls -l /usr/local/sbin > 合計 9248 > -rwxr-xr-x 1 root root 501908 6月 24日 23:07 postalias > -rwxr-xr-x 1 root root 339932 6月 24日 23:07 postcat > -rwxr-xr-x 1 root root 573064 6月 24日 23:07 postconf > -rwxr-sr-x 1 root postdrop 539416 6月 24日 23:07 postdrop > -rwxr-xr-x 1 root root 303108 6月 24日 23:07 postfix > -rwxr-xr-x 1 root root 337452 6月 24日 23:07 postkick > -rwxr-xr-x 1 root root 330140 6月 24日 23:07 postlock > -rwxr-xr-x 1 root root 307524 6月 24日 23:07 postlog > -rwxr-xr-x 1 root root 473420 6月 24日 23:07 postmap > -rwxr-sr-x 1 root postdrop 534724 6月 24日 23:07 postqueue > -rwxr-xr-x 1 root root 355132 6月 24日 23:07 postsuper 問題なくあるようです。 何が原因でしょうか。 以下参考です。パスと、作成したユーザとグループです。 > root# echo $PATH > /usr/sbin:/usr/bin:/usr/sfw/bin:/usr/ccs/bin:/usr/local/sbin > root# more /etc/passwd > (中略) > postfix:x:101:100::/home/postfix:/bin/sh > root# more /etc/group > (中略) > postfix::100: > postdrop::101: よろしくお願いいたします。

  • fedoraのcrontabについて

    linux初心者です。 今、fedora16で「新Linux/UNIX入門」という本を使って、Linuxを勉強しています。 crontabについて一つわからないことがあります。 本では/etc/crontabに 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly の記述があると書かれてありますが、自分のパソコンで$ cat /etc/crontabを実行してみると SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed となり、記述されているはずのものがありません。 ここではなく、/var/spool/cron/rootの方に記述されているかと思って、その中も見てみたのですが、記述されていそうにありません。 どこにこれは記述されているのでしょうか? いろいろといじくっているうちに、誤って自分で消してしまったのでしょうか? どなたかご回答よろしくお願い致します。

  • cron設定で電源のOFFができません。

    cron設定で電源のOFFができません。 cent OS 5.5 で自宅サーバーを立上げ勉強中です。 サーバーの電源を自動で18:00にONにして翌日の7:00にOFFにしたいと思います。 いろいろなホームページを参考にさせていただき、電源のONはパソコンのBIOS設定、OFFは"cron"を使うことできることがわかりました。 電源のONはパソコンのBIOS設定でできましたが、OFFができません。 設定は以下としています。 [root@Linux ~]# vi /etc/crontab CSHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly 0 7 * * * shutdown -h now #追加 [root@Linux ~]# /etc/rc.d/init.d/crond restart [root@Linux ~]#chkconfig crond on [root@Linux ~]# chkconfig --list crond crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off [root@Linux ~]# /etc/rc.d/init.d/crond status crond (pid xxx) を実行中... 設定時間になっても電源がOFFになりません。 [root@Linux ~]# shutdown -h now ではOFFにできます。 (cent OS 5.5 をインストールしているパソコンは 富士通 FMV DESKPOWER CE18B 2002 年製です) よろしくお願いします。

  • LiveからインストしたFedora MAKE出来ない

    こんにちは。 そのままですが・・・ Liveから起動後に、 HDDにインストールした Fedora8です。 # yum -y install update など一通りは終わってます。 一通りってアバウトで申し訳ありませんが。。。。 qmailをインストールしようと思いまして、 /usr/local/src にwgetで取って来て解凍後に、 パッチなどを当てて後に、 # make setup check とすると。 bash: make: command not found と出ます。 makeがないのかな?って思いまして、 # whereis make make: /usr/bin/make でした。 # echo $PATH /usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin: だったので一応、 #vi .bash_profile export PATH=$PATH:/usr/bin/make で通すと /usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/usr/bin/make になりましたが、 # make setup check すると、 bash: make: command not found と出ます。 その他、 アプリケーション→ソフトウェア追加・削除から、 開発なども少し追加してみましたが。。。 どうも上手くmakeが動きません。 その他、アプリケーションとか稼働させてますので、 再インストールすれば良い! などの回答ではなく、今の状況からmakeが使えるように、 なる方法をご教授下さい。 よろしくお願いします。