From nobody Thu Nov 6 10:52:26 2025 X-Original-To: freebsd-users-jp@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4d2Jtf2wRxz6FwK6 for ; Thu, 06 Nov 2025 10:52:42 +0000 (UTC) (envelope-from junchoon@dec.sakura.ne.jp) Received: from www121.sakura.ne.jp (www121.sakura.ne.jp [153.125.133.21]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4d2Jtd5mZNz3fM3 for ; Thu, 06 Nov 2025 10:52:40 +0000 (UTC) (envelope-from junchoon@dec.sakura.ne.jp) Authentication-Results: mx1.freebsd.org; none Received: from kalamity.joker.local (124-18-6-240.area1c.commufa.jp [124.18.6.240]) (authenticated bits=0) by www121.sakura.ne.jp (8.18.1/8.17.1/[SAKURA-WEB]/20201212) with ESMTPA id 5A6AqQvT031212; Thu, 6 Nov 2025 19:52:27 +0900 (JST) (envelope-from junchoon@dec.sakura.ne.jp) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=dec.sakura.ne.jp; s=s2405; t=1762426347; bh=il7MlaAuaO1fZCf2yn8NmbqEm4sUXm1bMlVC5puoCS0=; h=Date:From:To:Cc:Subject:In-Reply-To:References; b=I1Ws9w4zH07RKVzl+sU+L+NRdTm/b9cV+5t3u3F3UlkiuxMsb9n7Jjo5MJl8nBPoR Mj2jO5yR0NmaFdFLb+Ya5PH4qsYZoaImAPrd3FdqnrW/oX7KlP9fziSD+9CyAsey9v w/O8vraga6FvZGTyTg6EFL/EGTD8afPJAicfpDx8= Date: Thu, 6 Nov 2025 19:52:26 +0900 From: Tomoaki AOKI To: bluesky Cc: freebsd-users-jp@FreeBSD.org Subject: Re: root =?UTF-8?B?44Gu?= shell =?UTF-8?B?44Gr44Gk44GE44Gm?= Message-Id: <20251106195226.3e709b9b0388889e4d18be2b@dec.sakura.ne.jp> In-Reply-To: <1096998328.2154996.1762382470899@mail.yahoo.co.jp> References: <20251103014749.1E94.B142C0B6@nugae.org> <1096998328.2154996.1762382470899@mail.yahoo.co.jp> Organization: Junchoon corps X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.33; amd64-portbld-freebsd15.0) List-Id: Discussion relevant to FreeBSD communities in Japan List-Archive: https://lists.freebsd.org/archives/freebsd-users-jp List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-users-jp@freebsd.org Sender: owner-freebsd-users-jp@FreeBSD.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:7684, ipnet:153.125.128.0/18, country:JP] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4d2Jtd5mZNz3fM3 On Thu, 6 Nov 2025 07:41:10 +0900 (JST) bluesky wrote: > 悸村です。 > shell の話題ということで、このスレッドに付けさせて頂きます。 > > FreeBSD の /bin/sh には、pushd, popd がないように見え面倒なので > 私もログイン・シェルを bash に変更していた一人です。vipw 使用。 > ところが、内部的には /bin/sh にも popd 相当の機能があるかも知れな > いようですね。 cd - と指定するようです。 > > 初心者の質問で恐縮ですが、/bin/sh の history に関してです。 > history で履歴を確認したあと、番号のコマンドを再実行する方法が > 判らなくて困惑しています。bash のごとく、 > !127 などと指定しても期待どおりに動作しません。 > どう指定すればいいのか、どなたかご教示いただけないでしょうか。 > > -- > (yahoo.co.jp からは時々、外部のメイラーを使わないでほしい旨のメールが届く) > bluesky 青木@名古屋です。 `cd -` ですが、(t)cshのpushdやpopdと同じ動作をすると裏切られます。 以下、実験結果です。 $ cd /usr/ports $ cd /usr/src $ cd - /usr/ports $ cd - /usr/src $ cd - /usr/ports $ cd - /usr/src $ cd - /usr/ports $ cd - /usr/src $ cd - /usr/ports $ cd - /usr/src $ 最初はホームディレクトリにいて、/usr/ports、次に/usr/srcにcdして `cd -`を連続で実行するとこの2つのディレクトリを交互に移動する だけで、ディレクトリスタックにはなっていません。 sh (1) man pageでは cd [-L | -P] [-e] [directory] cd - Switch to the specified directory, to the directory specified in the HOME environment variable if no directory is specified or to the directory specified in the OLDPWD environment variable if directory is -. (以降略) となっていて、`cd-`で移動するたびに直前のディレクトリが${OLDPWD}に 設定されてしまうようです。 対話型でディレクトリスタックが欲しければ、大人しく(t)cshなり他の 対応したシェルを使用してスクリプトだけ/bin/shを使うのが早道かと。 ログインシェルをportsから入れたものにしたくなければ(t)csh一択 ですね。 (/bin/cshの実体は/bin/tcshです)。 -- 青木 知明 [Tomoaki AOKI]