在我的 shell 脚本中,我无法调用ant
, or mv
orcp
命令,但相同的命令在终端上执行。下面是我的脚本:
样本.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
由于您的脚本是 shell 脚本 ( /bin/sh
),因此您的PATH
条目.bashrc
将不会像bash
( /bin/bash
) 交互式 shell 那样被读取。
要使您的条目可供特定用户运行的脚本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 中的条目。