
スクリプトを実行したいのですが、スクリプトcd
にはいくつかの が含まれているため、次のように実行する必要があります。
. /scriptfile
sudo
これは動作しますが、スクリプト内にも があります。すべて動作していますが、スクリプト ファイルからsudo
すべての を削除できるように、スクリプト全体を で実行してみたいと思いました。 しかし、次の ( で)は実行できませんでした。sudo
sudo
sudo . /scriptfile
走ろうとすると
sudo: .: command not found
これに対する回避策はありますか?
答え1
走らなければならない
sudo ./scriptfile
あなたがしようとした
sudo . /scriptfile
これは、ドットの後のスペースが原因で異なります。.
または、それに相当するものは、source
コマンドではなく、シェルの組み込みコマンドです。そのため、試したコマンドでエラーが発生しますsudo: .: command not found
。
注記:
./scriptfile
scriptfile
現在のディレクトリにある名前のファイルを実行します。ファイルは実行可能である必要があります。
. /scriptfile
ファイルをソースします/scriptfile
(ここでは絶対パスであることに注意してください)。これを行うには、ファイルが実行可能である必要はなく、読み取り可能であるだけで十分です。
答え2
事前に実行しておけsudo su
ば、あとは実行するだけです./scriptfile