我是初学者,我需要帮助。
我正在尝试制作一个脚本来将一些文件从另一个目录中的一个目录移动。在创建脚本之前,我测试了命令并且它正在工作:
mv /path/to/source /path/to/destination
Run Code Online (Sandbox Code Playgroud)
在我制作了脚本之后nano
:
#!bin/bash/
echo "mv /path/to/source /path/to/destination"
Run Code Online (Sandbox Code Playgroud)
我已经使脚本可执行:chmod +x file
然后执行为./file
但出现以下错误:
bash: ./move.sh: /bin/bash/: bad interpreter: Not a directory
Run Code Online (Sandbox Code Playgroud)
我尝试使用sudo ./file
和 bash 文件,但它不起作用。
我正在使用安装了 VirtualBox 的 Ubuntu。
Rad*_*anu 22
那是因为你用过#!bin/bash/
,这是错误的。正确的方法是:
#!/bin/bash
Run Code Online (Sandbox Code Playgroud)
这称为shebang,它告诉shell 在执行时用什么程序来解释脚本。
另一件事:Ubuntu 中 bash 解释器的绝对路径是/bin/bash
, notbin/bash/
或其他东西。您可以使用which bash
命令检查这一点。
还有一件事,但您可能知道这一点:以下行:
echo "mv /path/to/source /path/to/destination"
Run Code Online (Sandbox Code Playgroud)
将仅显示带有 的文本消息mv /path/to/source /path/to/destination
。要真正移动文件,请使用以下脚本:
#!/bin/bash
mv /path/to/source /path/to/destination
Run Code Online (Sandbox Code Playgroud)
这就是您的脚本的外观。