我可能在这里做了一些愚蠢/明显错误的事情,但是我试图在curl脚本中管道并在OS X上的终端中运行它。我用来执行此操作的命令是:
sh -s stable < <(curl -L http://path_to_my_script/)
这看起来工作得非常正确; 但是,下载脚本中的第一行无效。由于某种原因,“cd~ / Desktop”导致错误“没有这样的文件或目录”。我很确定我的桌面存在,并且当我手动运行它时此命令有效。当我尝试将“ls”作为诊断问题的第一行时,它甚至都不识别该命令。我需要做些什么才能使“cd”和“ls”等命令正常工作?
谢谢您的帮助!
编辑:问题似乎与卷曲没有任何关系,好像我将脚本下载到“file.sh”然后执行“sh file.sh”,我得到相同的错误。
编辑:这是我正在尝试运行的脚本的完整内容:
#!/bin/bash
ls
cd ~/Desktop
curl https://dl.google.com/chrome/mac/stable/GGRO/googlechrome.dmg -o chrome.dmg
hdiutil attach chrome.dmg
cp "/Volumes/Google Chrome/Google Chrome.app" "~/Desktop/chrome.app"
hdiutil detach chrome.dmg
rm chrome.dmg
open -a chrome.app --args --make-default-browser --disable-instant-extended-api -- install-from-webstore="chrome-rdp/cbkkbcmdlboombapidmoeolnmdacpkch"
osascript 'tell application "System Preferences"
activate
set the current pane to pane id "com.apple.preference.mouse"
end tell'
echo "Hello World!"
正确的文本文件,它可以正常工作吗?
echo "~/Desktop is : $(echo ~/Desktop)"
吗?确保文件中没有其他内容,只有那一行。例如,也尝试使用不同的终端仿真器xterm
。Terminal.app默认启动登录shell,这可能使事情变得复杂(不知道怎么做,但你永远都不知道)。