我是一名初学者,需要帮助。
我正在尝试编写一个脚本来将一些文件从一个目录移动到另一个目录。在创建脚本之前,我测试了命令,它运行正常:
mv /path/to/source /path/to/destination
在我编写完脚本之后nano
:
#!bin/bash/
echo "mv /path/to/source /path/to/destination"
我已使用以下命令使脚本可执行:chmod +x file
然后执行,./file
但出现以下错误:
bash: ./move.sh: /bin/bash/: bad interpreter: Not a directory
我尝试使用sudo ./file
bash 文件,但是它不起作用。
我正在使用通过 VirtualBox 安装的 Ubuntu。
答案1
那是因为你使用了#!bin/bash/
,这是错误的。正确的方法是:
#!/bin/bash
这被称为舍邦并且它告诉 shell 在执行时用什么程序来解释脚本。
另外:Ubuntu 中 bash 解释器的绝对路径是/bin/bash
,而不是bin/bash/
或其他。您可以使用which bash
命令检查这一点。
还有一件事,但你可能知道这一点:下面这一行:
echo "mv /path/to/source /path/to/destination"
只会显示带有 的文本消息mv /path/to/source /path/to/destination
。要真正移动文件,请使用以下脚本:
#!/bin/bash
mv /path/to/source /path/to/destination
你的脚本应该是这个样子的。