小编use*_*927的帖子

在 Mac OS 恢复模式下,为什么 mv 在 bash 3.2 中的这个(bash)shell 脚本中失败?

我正在尝试在恢复模式期间在 Mac 上使用 bash 脚本移动一些文件。启动进入恢复后,我可以通过在终端中手动输入命令来成功移动文件。然而,一个目标是记录该过程并使其可移植,因此需要一个脚本。当我尝试mv从脚本运行命令时,出现错误No such file or directory。当我手动输入文件路径时,我已经确认该命令可以正确执行,但脚本继续出错。

我曾尝试使用双引号 ( ") 和美元符号 ( $)、美元符号 ( $) 和大括号 ( {}) 以及其他一些用于变量评估的组合。它们都因相同的错误而失败。我还尝试在 src 上使用尾部斜杠,在 src 上使用通配符 ( *),并在 src 和 dest 上使用尾部斜杠。我完全被难住了。这可能是特定于 MacOS 恢复模式的,但是既然提示宣布-bash-3.2,这肯定是 bash 3.2 shell?

请帮助 - 甚至我们的高级开发人员都被这个问题难住了......
这与不正确的解析有关吗?我注意到/*目的地的末尾有一个,我没有指定......

脚本是:

#! /bin/bash
#_# Setup
echo 'Setting up variables'
SYSDIR='/Volumes/Macintosh\ HD/System'
EXTDIR='Library/Extensions'
USERDIR='/Volumes/Macintosh\ HD/Users/admin'

#_# Bluetooth
echo 'Mitigating Bluetooth'
BLUE='IOBluetoothFamily.kext'
mkdir -p "$USERDIR/delete_me/$BLUE"
mv "$SYSDIR/$EXTDIR/$BLUE"/* "$USERDIR/delete_me/$BLUE"

echo …
Run Code Online (Sandbox Code Playgroud)

osx bash shell-script system-recovery

0
推荐指数
1
解决办法
351
查看次数

标签 统计

bash ×1

osx ×1

shell-script ×1

system-recovery ×1