#!/usr/bin/env bash ← 🤔 (33レス)
1-

1: 2025/04/07(月)00:34 ID:s+VUvHBA(1) AAS
正統派なら
#!/bin/bash
#!/usr/bin/python3
など決め打ちだろ
バージョン違いで挙動が異なるなら尚更決め打ち

bashやpython3の場所が異なる可能性を挙げていて
envは変わる確率が低いという無茶苦茶謎理論
外部リンク:news.mynavi.jp
インストール先に合わせて
#!/usr/local/bin/pytho3
省2
2
(1): 2025/04/07(月)08:42 ID:Sspbwbz9(1) AAS
変な絵文字入れるの流行ってんのか?
3: 2025/05/23(金)21:17 ID:0cRRXvyK(1) AAS
POSIX UNIX and Linux script best practice guideが参考になるぞ

その書き換えを不要にするのがenvであり、
/usr/bin/env bashとか/usr/bin/env python3といったshbangで
期待されている動作をするよう
OSは構築されていることが求められている
4
(1): 2025/05/30(金)12:06 ID:uRKoLJif(1/2) AAS
env はなぜ
/usr/bin/env で決め打ちできるわけ?
システムに複数のpython3がある場合にどの python3で動くか決定的ではなく
ユーザー設定によるので当てにならない
5: 2025/05/30(金)12:09 ID:uRKoLJif(2/2) AAS
例えば
/usr/bin/python3
/usr/local/bin/python3
/home/userA/bin/python3
とある場合
env で呼ばれる python3 は$PATHによって異なる
6: 2025/05/30(金)16:51 ID:xhoREEXj(1) AAS
ユーザーがactivateしたvenvと同じ環境で走らせたいスクリプトもあれば固定環境で走らせたいスクリプトもあるだろ
使い分けろ
7
(1): 2025/05/31(土)20:24 ID:nUxZuYDd(1) AAS
>>4
/usr/bin/envは決め打ちしているものではなく、
利用者は/usr/bin/envがある環境を用意する責任がある、という指針の結果だよ

Pythonの件も、利用者にはenvの評価結果で適切なpython3が選ばれるような
環境を用意する責任がある

そういう責任共有モデル
8
(1): 2025/06/01(日)03:57 ID:SR02+F16(1/2) AAS
#!/usr/bin/python3
を自分の好みにあわせて
#!/home/userA/bin/python3
などと書換える方が安全だと思う
こっちは全部自分の意志で行うから

#!/usr/bin/env python3
は不適切でも動いちゃう
9: 2025/06/01(日)11:32 ID:OLS6TxiM(1) AAS
>>8
利用者がPythonを好みで選べる環境を作ったのなら、
#!/usr/bin/env python3 なスクリプトが
好みのPythonで起動できる状態にするのは利用者の責任となるのではないかな

昨今のEPPやクラウドの監視が動いてる環境だと、shebangだけとはいえスクリプトを改変すると、
レポジトリに登録されているものから改変されている等と警告が上がるかと

そういう面倒な検知を防ぎつつ、本当のスクリプトの改変を検知できるようにするためにも、
shebangでは/usr/bin/envを使いましょうね、と
10: 2025/06/01(日)11:44 ID:SR02+F16(2/2) AAS
上で出ていた
POSIX UNIX and Linux script best practice guide
なり
このもとの理論ってどこにあるの?
誰が提唱しているの?
11: 2025/06/01(日)14:28 ID:CXRoilnc(1) AAS
複数のpython3 っておまえ面倒くせえことしてるなw
1-
あと 22 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.011s