我必须很密集,但我根本无法解决这个问题。我在这里用谷歌搜索和搜索过,但没有找到任何东西。
我有一个简单的 shell 脚本。目前它看起来如下。diff 命令失败,第二个参数(下面红色的那个)上显示“没有这样的文件或目录”。
#!/bin/bash
set -x
cd "/Volumes/$1/Backups.backupdb/SkiAddict’s Mac/Latest"
time diff -qr /Users/n/Documents/Code "SkiAddict’s Mac/Users/n/Documents/Code"
我从终端调用这样的脚本:
bash myScript.sh Quadra
我不太了解 shell 脚本(实际上,一点也不了解),但这真的不可能是火箭科学!
我花了一个多小时把头撞在墙上,让第一个命令 (cd) 起作用;事实证明,除非“SkiAddict's”中的引号字符是智能引号,否则我得到了同样的错误(没有这样的文件或目录)。现在该行工作正常,即使我从该行复制文本并将其粘贴到 diff 命令中,它也不起作用。
整个脚本是从一个已经在工作的 QuicKeys 宏中复制的,该宏将文本输入到终端窗口中,所以我真的认为制作一个 shell 脚本不会是一件大事。宏首先将这一行“键入”到一个新的终端选项卡中:
cd /Volumes/Quadra/Backups.backupdb/SkiAddict’s\ Mac/Latest
然后它按 Enter 并“键入”这一行:
time diff -qr /Users/n/Documents/Code "SkiAddict's Mac/Users/n/Documents/Code"
然后,它再次按 Enter。这件事完美无缺。
我尝试过在任一端使用双引号,在任一端使用单引号,转义引号,无论两端是否有双引号或单引号。没有任何效果。
帮助???