2つのディストリビューション(Arch、Manjaro、Mint)のbashは異なるディレクトリにあります。 Bashスクリプトでこれをどのように適用できますか?

2つのディストリビューション(Arch、Manjaro、Mint)のbashは異なるディレクトリにあります。 Bashスクリプトでこれをどのように適用できますか?

私は最近、ManjaroとArchを主に使用していますが、Mintで発生する可能性があるいくつかのハードウェア問題をデバッグしようとしています。

で始まるので、mintでもう機能しないbashスクリプトがたくさんありますが、#!/usr/bin/bashMintのbashは/bin/bash。すべてのスクリプトを変更せずに一種のリダイレクトを統合する方法はありますか?

たとえば、練習を始めるために私が書いた最初のスクリプトは次のようになります。

#!/usr/bin/bash -x
cmatrix -bC red

その/usr部分を削除するとMintで正しく実行されますが、同じスクリプトを維持し、両方のディストリビューションで実行する方法はありますか?

答え1

Stack Overflowに関連するQ&Aがあります。あなたが好むBash shebangは何ですか?ところで、ここでは良いものが見つかりません。

、などのどこでもスクリプトをbash検索するには、次のようにします。PATH/bin/usr/bin

#!/usr/bin/env bash

(これは/usr/bin/env存在を仮定します。)

ただし、前述のディストリビューションを含むほとんどのLinuxディストリビューションで使用するのは安全です。

#!/bin/bash

一部のディストリビューション返品うん/usr/bin/bash、しかし結果はこうだ/usrマージ」-/binこれで、これらのディストリビューションでも/usr/bin同じコンテンツを使用できるようになりました。

答え2

次に、1つの変更が必要です。 #!/usr/bin/env bashbashのPATHを検索します。しかし、set -xこれは一人でなければなりません。

関連情報