Bash脚本移动文件


11

我是初学者,需要帮助。

我正在尝试制作一个脚本,以将文件从一个目录移动到另一个目录。在创建脚本之前,我测试了该命令,该命令已正常工作:

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

我尝试过与with sudo ./file和bash文件一起使用,但无法正常工作。

我正在使用随VirtualBox一起安装的Ubuntu。


您应该看一下《高级Bash脚本指南》
LiveWireBT 2013年

Answers:


20

那是因为您使用过#!bin/bash/,这是错误的。正确的方法是:

#!/bin/bash

这称为shebang,它告诉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

这就是脚本的外观。


1
仅供参考,Ubuntu历来打包了极其有用的which命令的简陋版本。值得手动安装以获取gnu
djeikyb
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.