也许这里有人可以帮助我。在两台机器上安装了 Ubuntu 12.04 LTS (kubuntu)。.bashrc
和.bash_profile
文件是相同的,因为每台机器上的文件结构是相同的。
在机器 1 上:我在终端窗口中运行 bash 脚本,简单:./scriptname.sh
在机器 2 上:我不能这样做,必须使用:sh scriptname.sh
我也不能使用./
和制表符完成脚本文件名。
所有可执行位都设置正确,所有文件和文件夹都具有正确的权限。在脚本的标题中,shebang 设置正确。
任何想法为什么会发生这种情况?
如果我尝试使用以下命令执行脚本./file_motion_grab.sh
:
bash: ./file_motion_grab.sh: Permission denied
当我尝试ls -l
时,我得到:
-rwxrwxrwx 1 adelie adelie 351 Nov 4 20:32 file_motion_grab.sh
的输出getfacl
是:
# file: file_motion_grab.sh
# owner: adelie
# group: adelie
user::rwx
group::rwx
other::rwx
更一般 - 第二台机器上的任何新脚本都必须调用: sh scriptname.sh .bash 文件中可能有问题。但不确定在哪里看。