【问题标题】:Moving File to Desktop with Bash Script使用 Bash 脚本将文件移动到桌面
【发布时间】:2016-01-10 05:26:20
【问题描述】:

我正在尝试编写一个 bash 脚本,将内容写入文件,然后将文件移动到我的桌面。换行之前的第一段代码运行良好,并将必要的内容输出到名为 main_output.txt 的文件中。

移动这个文件是我遇到麻烦的地方。我知道相对路径是最好的,但我使用的是 OSX El Capitan 并且 bash 中的相对路径没有按预期工作。任何想法将不胜感激!

#/bin/bash
OUTPUT="$(ls -1t ~/Desktop/directory/inputs|head -n 1)"
echo $OUTPUT > ~/Desktop/directory/outputs/main_output.txt

FINALFILE = ~/Desktop/directory/outputs/main_output.txt
DESTINATION = ~/Desktop/
mv $FINALFILE $DESTINATION

【问题讨论】:

    标签: macos bash shell


    【解决方案1】:

    = 符号周围不能有空格。

    您的OUTPUT 做得对,这就是它起作用的原因。将您的第二部分更改为:

    FINALFILE=~/Desktop/directory/outputs/main_output.txt
    DESTINATION=~/Desktop/
    

    也许你必须在你的字符串周围加上双引号。

    【讨论】:

    • 它不适用于引号,因为~ 不会扩展到主目录路径。在这种情况下,应该使用$HOME
    • 好的,但是我的答案在没有双引号的情况下有效吗?也就是我怎么说?
    • @Jonathan 我并不是说它不起作用,而且在发表评论之前我已经对其进行了投票。我无意更改您答案中的措辞,但我认为解释潜在问题​​的评论可能有用。对不起。
    • 嗨@Jonathan - 我在这里创建了一个相关问题:stackoverflow.com/questions/34702536/… - 只是想包括它。
    • @keltar 您提出的观点完全正确。你想编辑我的答案吗?我会批准的。
    猜你喜欢
    • 2021-04-04
    • 1970-01-01
    • 2020-05-08
    • 1970-01-01
    • 1970-01-01
    • 2014-08-05
    • 1970-01-01
    • 1970-01-01
    • 2013-02-18
    相关资源
    最近更新 更多