シェルスクリプト総合 その20at UNIX
シェルスクリプト総合 その20 - 暇つぶし2ch950:名無しさん@お腹いっぱい。
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経由で起動できるように外部コマンドを配置」
> って決めちゃって、そんなの意味ないって下から指摘あったけど
> 決めた人が偉い人で引込みがつかず、決まってしまっただけのこと。
それはどこ情報?


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch