[過去ログ] くだらねえ質問はここに書き込め! Part 244 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
655
(7): 2021/06/13(日)11:46 ID:8uxgXDKq(1) AAS
$ top とやると普通にtopが動きますが
$ sh /usr/bin/top とやっても動きません
$ sh シェルスクリプト は動きます

なんでか教えて下さい賢者様
657
(1): 2021/06/13(日)11:53 ID:kDWNq6kw(2/3) AAS
>>655
コマンドの使い方が間違っているからです。
$ /usr/bin/top
なら動くでしょう?
658
(1): 655 2021/06/13(日)11:58 ID:+NVzDbjK(1) AAS
>>657
賢者様、私の質問の仕方が悪かった様ですみません
シェルはどうして実行バイナリ名を命令するとバイナリが走るのか、仕組みを知りたくて質問させて頂きました
661: 655 2021/06/13(日)12:23 ID:NUC19c+j(1) AAS
>>660
賢者様、さすがにその位はわかるんですが、
シェルでコマンドバイナリを直接入力してエンターすると
何故バイナリプログラムが走るのかに興味がありまして

パケット節約の為に通信しない時は機内モードにしているので
いちいちidが変わっている事は御容赦下さい
663
(1): 655 2021/06/13(日)12:37 ID:1H34sh5d(1) AAS
>>662
要するに実行可能バイナリ名の文字列を命令すると
「あー、shである俺自身の機能じゃないけど呼んではみるわ」みたいな感じですかね

何となくわかりました
お付き合い頂き有り難うございました
667
(1): 2021/06/13(日)13:44 ID:3Ct2ZDCN(1/2) AAS
>>665
まあそう冷たくしない。
マニュアルも面白いもんじゃないし。

外部リンク[html]:linuxjm.osdn.jp

>>655 は上のページから

> オプション処理の後に引き数が残っており、かつ -c オプションと -s オプションのいずれも指定されていない場合、 最初の引き数はファイル名とみなされ、 そのファイルにシェルコマンドが記述されているとみなされます。

つまりそもそも >>655 でバイナリを指定してる時点でsh(bash)の想定外だね。
669
(1): 2021/06/13(日)14:17 ID:3Ct2ZDCN(2/2) AAS
>>667 だとちょっと分かりづらいか。
>>667 で言ってるのは >>655 で書かれたパターンのうち「sh シェルスクリプト」や「sh /usr/bin/top」のこと。

>>655 のパターンうち「top」をいきなり実行する場合のルールは同じ以下のページから
外部リンク[html]:linuxjm.osdn.jp
「コマンドの実行」セクションを参照してください。
670: 655 2021/06/13(日)14:51 ID:685BZrsT(1) AAS
>>669
これですか
> コマンドが単語に分割された後に、 単純なコマンドとそれに対する引き数リスト (引き数リストは省略可能) となった場合、以下の動作が行われます。

> コマンド名にスラッシュが含まれない場合、 シェルはコマンドの位置を特定しようとします。 その名前のシェル関数が存在すれば、前に 関数 で説明したように...

腹に落ちるのに少々時間がかかりそうですが、すごくためになる内容ですね
マニュアル全体の説明も充実している様で、単に読み物としても非常に面白いです

669さん、そして他の賢者の皆様、素晴らしい文献に誘導して頂き有り難うございました
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.963s*