現在、ノートブックで使用したい古いノートブックのユーティリティ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 ... ... ...
答え2
たとえば、目的のバージョンを含むディレクトリが望ましくないバージョンを含むディレクトリの前になるようにtype -a column
ディレクトリを並べ替えて、そのバージョンを見つけます。$PATH
その後、rehash
コマンドを実行します。
PATH
編集が面倒です。自分がしていることがわからない限り、内容なしにPATH=
課題を実行しないでください。$PATH
私は2000年にLinux Journalで説明されているStephen Collyerのbash_path_funcsを使います。
https://www.linuxjournal.com/article/3645 https://www.linuxjournal.com/article/376 8 https://www.linuxjournal.com/article/3935
addpath
この関数は、最初にそのエントリがパスに存在しない場合にのみパスにエントリを追加します。delpath -n
パスに存在しないディレクトリを削除します。
pathfunc.tgz
からファイルを受け取ることができます。https://web.archive.org/web/20061210054813/http://www.netspinner.co.uk:80/Downloads/pathfunc.tgz