2013-05-25 66 views
1

我已经写了下面的bash脚本:与MV bash脚本将无法工作

但运行它时我得到以下输出:

usage: mv [-f | -i | -n] [-v] source target 
     mv [-f | -i | -n] [-v] source ... directory 

我真的不知道的我做错了什么。

回答

3

在配置文件中创建一个函数而不是别名。事情是这样的 -

uploadToCloud() { 
    echo "which file" 
    read file 
    mv "$file" ~/Dropbox 
} 

当你需要做一些更复杂的函数应该被使用。您的需求是一个功能的完美例子,因为它对于别名来说太复杂了。

别名应该用于有效更改命令的默认选项的任务。

+0

在这种情况下+1函数确实比别名好得多。也指出了“读”一行的问题。 – Kent

+0

@肯特谢谢肯特。我甚至没有在'read line'中看到这个问题。我刚刚看到'alias'被用于类似于'function'的建议。 :) –

+1

我会用+1修复'读取文件'(而不是'读取$ file')问题。我不相信任何人都会经常执行代码以保证它成为别名或功能 - 在我的生态系统中,它将是一个shell脚本(并且会通过参数获取文件名,至少作为主接口)。然而,对于这样的问题,我是一个老傻瓜 - 现代风格似乎是尽可能地加载到内存中,以便在需要某些事情的极少数情况下节省几毫秒。 –