ant
私のシェルスクリプトでは、またはmv
コマンドを呼び出すことはできませんが、cp
同じコマンドが端末で実行されます。以下は私のスクリプトです。
サンプル.sh ファイル
#! /bin/sh
cp filename.so filename_org.so
android update project -p .
ant clean
ant release
PATHはファイルに設定されます.bashrc
。
export PATH=$PATH:/usr/bin/
cp
、mv
はant
スクリプトを介さずに端末でのみ機能します。
答え1
あなたのスクリプトはシェルスクリプト(/bin/sh
)なので、PATH
アイテムはインタラクティブシェル()のように読み込ま.bashrc
れません。bash
/bin/bash
特定のユーザーが実行しているスクリプトでエントリを使用できるようにするには、そのPATH
ユーザーのホームディレクトリにあるファイルにエントリを追加します。/bin/sh
PATH
.profile
スクリプト内の各コマンドにフルパスを追加することもできます。
/bin/cp filename.so filename_org.so
または、PATH
スクリプトの先頭に必要なすべての変数を含む変数を設定します。$PATHS
PATH=$PATH:/bin:/usr/bin:xxx
export PATH
答え2
小さなスクリプトがあれば、簡単な操作を実行し、できるだけ早く作業を完了できます。
コマンドラインを入力し、次のコマンドを使用します。
which your_command
上記のコマンドは、コマンドを直接使用してパスを含む出力を印刷します。
答え3
bashrcにパスが設定されたバイナリを実行するときにも同じ問題が発生しました。
以下を実行して問題を解決しました。
バイナリを追加するか、/usr/bin のバイナリへのリンクを追加します。
ln -s [path_to_binary] [name_of_executable]
その後、使用して確認してください。
ls -l
bashrcからエントリを削除できます。