12/11/05 09:36:46.07
>>945
面倒だから正解教えてあげるけど、キミ、全然理解していない。
次に来るときはシェルの入門書を1000回読み返してからくるように。
chroot ./hoge /bin/bash --rcfile /プロンプト変更.sh
951:名無しさん@お腹いっぱい。
12/11/05 11:07:47.92
>>949
そのディレクトリにcdが可能かどうかチェックはしたいけど
カレントディレクトリを変更したいわけじゃない、という場合に使う。
952:名無しさん@お腹いっぱい。
12/11/05 11:10:09.44
>>951
それは (cd hoge) で十分。わざわざ/usr/bin/cd hogeとかする必要なし。
953:名無しさん@お腹いっぱい。
12/11/05 11:51:33.94
/usr/bin/cd を使っちゃいけない理由もない。
954:名無しさん@お腹いっぱい。
12/11/05 11:54:39.66
じゃあ外部コマンド版の以下のコマンドの意味のある用途は?
alias bg fg jobs unalias wait
もちろん、「文法チェック目的」以外で。
955:名無しさん@お腹いっぱい。
12/11/05 11:56:21.15
>>953
/usr/bin/cd を使っちゃいけない理由:
/usr/bin/cdがインストールされていない環境で動かないのでポータビリティを損ねる。
956:名無しさん@お腹いっぱい。
12/11/05 11:58:35.93
>>955
インストールされている環境でしか使わないスクリプトなら問題ない。
957:名無しさん@お腹いっぱい。
12/11/05 12:18:17.16
>>954
POSIX Shell & Utilitiesに適合するため。
958:名無しさん@お腹いっぱい。
12/11/05 12:26:50.85
>>957
POSIX Shell & Utilitiesに適合することは意味のある用途じゃないので不正解。
はい、やり直し
↓
959:名無しさん@お腹いっぱい。
12/11/05 12:32:15.46
意味ってお前が決めるものなのか?
960:名無しさん@お腹いっぱい。
12/11/05 12:32:57.29
/usr/bin/cd って、どのパッケージに入ってるの?
うちの環境だと無いっぽいわ
961:名無しさん@お腹いっぱい。
12/11/05 12:37:40.88
>>957
/usr/bin/cd だったら、「cd可能かどうかチェックする」という具体用途が一応示せる。
(苦し紛れだろうけど)
そういう具体例を聞いてるんだよ。
たとえば /usr/bin/fg って何に使うの?
プロセス変わるからジョブコンできるはずないし。
962:名無しさん@お腹いっぱい。
12/11/05 12:44:25.01
実は /usr/bin/cd なんて存在しないんじゃないか?
どこにあるんだいったい・・・
963:名無しさん@お腹いっぱい。
12/11/05 13:29:24.71
Solaris とか FreeBSD にはある。
URLリンク(docs.oracle.com)
これにも>>951しか用途載ってないな。
964:名無しさん@お腹いっぱい。
12/11/05 14:25:29.24
用途ないってw
>>957の通り。規格読んでみ。
builtinもexec出来ないといけないから。
965:名無しさん@お腹いっぱい。
12/11/05 14:27:27.34
なんでそんな規格になってるんだろね。
966:名無しさん@お腹いっぱい。
12/11/05 14:50:01.96
>>964
builtinもexec出来ないといけないからという理由なら、
trapとかsetとかのbuiltinもexec出来ないといけないことになる。
(実際にはtrapとかsetとかは外部コマンド版はない)
なぜ cdとかaliasとかは意味のない外部コマンド版があって、
trapとかsetとかには外部コマンド版がないのか、という疑問は解決しない。
967:名無しさん@お腹いっぱい。
12/11/05 20:50:10.49
とりあえず文句が言いたいならOpenGroupへ。
ここで意味がないとか言っても何も解決しない。
968:名無しさん@お腹いっぱい。
12/11/05 20:52:30.50
文句はないけど疑問ではある。
969:名無しさん@お腹いっぱい。
12/11/05 21:44:16.98
シェルやシェルスクリプトをよく知らない人が
「builtinコマンドもexec経由で起動できるように外部コマンドを配置」
って決めちゃって、そんなの意味ないって下から指摘あったけど
決めた人が偉い人で引込みがつかず、決まってしまっただけのこと。
だから、実用性優先のLinuxとかではそんな変な仕様には準拠せず、
/usr/bin/cdとかアホなコマンドはインストールしないようになってる。
970:名無しさん@お腹いっぱい。
12/11/05 22:01:57.65
>>969
> シェルやシェルスクリプトをよく知らない人が
> 「builtinコマンドもexec経由で起動できるように外部コマンドを配置」
> って決めちゃって、そんなの意味ないって下から指摘あったけど
> 決めた人が偉い人で引込みがつかず、決まってしまっただけのこと。
それはどこ情報?