BSD バージョンの代わりに Linux バージョンのコマンドを使用します。

BSD バージョンの代わりに Linux バージョンのコマンドを使用します。

現在、ノートブックで使用したい古いノートブックのユーティリティbashスクリプトがあります。columnコマンドに不明なオプションを渡すため失敗します。実行中ですman column。このコンピュータが使用されていることを確認しました。BSDバージョンこのスクリプトはLinuxバージョン、より多くの選択肢があります。

古い機械にはアクセスできないため、設定方法についてはあまり話せません。とても似ています新しいものに。現在、コンピュータは過去数日間に新しくインストールされたPop!OS 20.04を実行しています。

使用したい同様のコマンドを指定する明らかに正しい方法はありますか?

ベストアンサー1

使用したい同様のコマンドを指定する明らかに正しい方法はありますか?

若干のリスクを負うまたこれを行う明確な方法は、スクリプトで使用したい正確な実行可能ファイルのフルパスを指定することです。

#!/usr/bin/env bash

# use the col executable in /usr/bin, not that other one:
col='/usr/bin/col'

$col ... ... ...

@muruが指摘したように、別のアプローチは、使用col()したい特定のバイナリを呼び出す関数を宣言することです。

#!/usr/bin/env bash

# use the col executable in /usr/bin, not that other one:
col()
{
  /usr/bin/col "$@"
}

col ... ... ...

おすすめ記事