From nobody Sat Oct 25 01:44:29 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 4ctjHk5xF8z6DTgs for ; Sat, 25 Oct 2025 01:44:34 +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 4ctjHk1W02z3l1g for ; Sat, 25 Oct 2025 01:44:33 +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 59P1iU8S048745; Sat, 25 Oct 2025 10:44:30 +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=1761356670; bh=XXoxQqDMo9WXxLpTcOmVcuV5IUYbzV3k7nrwGl/2j28=; h=Date:From:To:Cc:Subject:In-Reply-To:References; b=swiGIgY31TzgFh8lt+6yw7i8UwEVc/lwnGjpX6U1bWpt7zwnQpaPt2QVpCtxL+wai Jd4IlkO+ymRGblekkWaKMm+j+FkRfbrYnFtlcrT9OuDS39J8SkGSKVFegzQxdAr+Mc 12KKMQEZ2htjQr8wC6r1U0b4IvwLwag9RnSiV5ks= Date: Sat, 25 Oct 2025 10:44:29 +0900 From: Tomoaki AOKI To: "Yamada,Kazuo" Cc: freebsd-users-jp@FreeBSD.org Subject: Re: root =?UTF-8?B?44Gu?= shell =?UTF-8?B?44Gr44Gk44GE44Gm?= Message-Id: <20251025104429.6ff3bb2f5991b3ae8b25fd15@dec.sakura.ne.jp> In-Reply-To: <20251025094603.310B.5C005573@yamarail.net> References: <20251025094603.310B.5C005573@yamarail.net> 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: 4ctjHk1W02z3l1g On Sat, 25 Oct 2025 09:46:14 +0900 "Yamada,Kazuo" wrote: > やまだ@越谷です。 > > 20年くらい前に、このMLに投稿して。 > 以後ROM専門でした。 > > Facebook の FreeBSDのグループでも質問したのですが。 > コメントが全くないので... > > FreeBSD 13.x から 14.x にアップグレードしたのですが。 > root の シェル が標準では /bin/csh から /bin/sh に変更されているようです。 > > アップグレード中に、パスワードファイルの編集画面になり。 > 選択をする必要があったので、/bin/sh は基本使う事ないので。(使うなら bash 使 > う) > /bin/csh の方にしたのですが。 > > どちらにするのが正解なんでしょうか? > > -- > 0----+----1----+----2----+----3----+----4----+----5----+----6----+----7----# > 山田 和雄 MailTo:yamada@yamarail.net > Yamada Kazuo 青木@名古屋です。 基本的に、正解は「baseにある(portsでない)ものならお好きなものを」 です。 ただ、今後Handbook等で操作例が掲載されるのはデフォルトの /bin/shになっていく(または/bin/cshの例が消されていく)可能性が 高いと思いますので、内部コマンドの違いに混乱しそうなら/bin/shに 変えるのも「あり」ではあります。 問題としては、20年前と比べると飛躍的に改善されたとはいえ、/bin/shの コマンドラインヒストリー周り等は未だ/bin/cshに及ばないので、一応 実用に近づいたとはいえストレスを感じる場面があるかと。 なお、釈迦に説法でしょうけれど、スクリプトを組む場合はPOSIXのshで 必須になって「いない」機能は使わないのが無難ですので、/bin/shの 方を使うのが正解(cshは文法からして違いますので...)ですから csh自体の設定ファイル群にだけcshを使用しましょう。 また、先に「baseにある(portsでない)ものなら」という縛りを 入れたのは、私の知る限り(あれば)STATICオプションを付けて ビルドしたとしても/usr/local/bin/以下にインストールされ、 STATICオプション無効(または存在しない)場合に至っては /usr/local/lib以下のライブラリに依存する場合すらあるので、 仮に/usr/local/を独立したパーティションにしていると何らかの 原因でマウントに失敗したら詰んでしまうこと、base側での 何らかの変更でportsから入れたものに障害が出る場合、対象に 含まれてしまう恐れがある(portsにあるシェル全てがテストして もらえるわけではありません)ため、これもまた詰むことがある からです。 なお、私はrootのシェルをzshにしていますが、FreeBSD自体は (t)cshだと思いこんでいます。 というのは、/etc/master.passwd では/bin/cshにしてあって、/root/.tcshrc.mineに if ( -X zsh && -f ~/.Use_zsh ) exec zsh の1行を入れてあり、/root/.Use_zshという空のファイルを作っておく ことで、パスの通ったところに実行可能な(attributeの付いた)zshが 存在し、なおかつ/root/.Use_zshが存在することでzshに乗っ取らせる ようにしているのです。 portsで更新したzshに不備があった場合以外は これでzshが見つからなくても(t)cshのまま使えます。 ※zshに問題が出ている場合、シングルユーザに落ちて/root/.Use_zshを  消してしまえばいいので、セーフティネットが効きます。 ご参考になれば。 -- 青木 知明 [Tomoaki AOKI]