Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 使用Bash脚本将文件移动到桌面_Macos_Bash_Shell - Fatal编程技术网

Macos 使用Bash脚本将文件移动到桌面

Macos 使用Bash脚本将文件移动到桌面,macos,bash,shell,Macos,Bash,Shell,我正在尝试编写一个bash脚本,将内容写入一个文件,然后将该文件移动到我的桌面。换行前的第一段代码运行良好,并将必要的内容输出到名为main_output.txt的文件中 移动这个文件是我遇到麻烦的地方。我知道相对路径是最好的,但我使用的是OSX El Capitan,bash中的相对路径并没有按预期工作。任何想法都将不胜感激 #/bin/bash OUTPUT="$(ls -1t ~/Desktop/directory/inputs|head -n 1)" echo $OUTPUT >

我正在尝试编写一个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

=
符号周围不得有空格

您的
输出是正确的,这就是它工作的原因。将第二部分更改为:

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

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

它不能使用引号,因为
~
无法扩展到主目录路径。在这种情况下,应该使用
$HOME
。好的,但是我的答案在没有双引号的情况下有效吗?“我是怎么说的?”乔纳森:我不是说它不起作用,在评论之前我已经对它进行了升级。我无意改变你们回答中的措辞,但我认为解释潜在问题的评论可能会有用。抱歉。嗨@Jonathan-我在这里提出了一个相关的问题:-只是想把它包括进去。@keltar,你提出的观点完全正确。你想编辑我的答案吗?我会批准的。