编辑:
似乎在bash. 看来问题与zsh. 如果有更好的网站可以发布此问题,请告诉我。
我正在编写一个创建一系列目录的简单脚本。我希望用户在我这样做之前给予确认。我使用以下作为基础,但似乎无法让它在 bash 函数中运行。如果我把它放在函数之外,它工作正常。这是一个孤立的例子:
读.sh
#!/bin/bash
test() {
read -p "Here be dragons. Continue?" -n 1 -r
if [[ $REPLY =~ ^[Yy]$ ]]
then
echo "You asked for it..."
fi
}
Run Code Online (Sandbox Code Playgroud)
来自this SO post的代码。
获取文件和/或test导致以下错误:read:1: -p: no coprocess. 当我把它放在我的.bashrc
编辑::
@hennes
zsh我最近开始配置 OSX 10.7 环境进行开发。我已经安装了 HomeBrew,并将以下内容添加到我的.bash_profile:
export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)
一切都很好,除非echo $PATH我收到以下重复字符串:
/usr/local/bin:/usr/local/sbin:~/bin:/usr/local/bin:/usr/local/sbin:~/bin:/usr/local/git/bin:usr/local/bin:/usr/local/git/bin:usr/local/bin:/usr/local/git/bin:usr/local/bin:/usr/local/git/bin:usr/local/bin:/usr/local/git/bin:usr/local/bin:/usr/local/git/bin:usr/local/bin:/usr/local/git/bin:usr/local/bin:/usr/local/git/bin:/usr/local/git/bin:/usr/local/git/bin:/usr/local/git/bin:/usr/local/git/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
为了使其更具可读性,这些是所有路径:
/usr/local/bin
/usr/local/sbin
~/bin:/usr/local/bin
/usr/local/sbin
~/bin
/usr/local/git/bin
usr/local/bin
/usr/local/git/bin
usr/local/bin
/usr/local/git/bin
usr/local/bin
/usr/local/git/bin
usr/local/bin
/usr/local/git/bin
usr/local/bin
/usr/local/git/bin
usr/local/bin
/usr/local/git/bin
usr/local/bin
/usr/local/git/bin
/usr/local/git/bin
/usr/local/git/bin
/usr/local/git/bin
/usr/local/git/bin
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
/usr/X11/bin
Run Code Online (Sandbox Code Playgroud)
除了我的.bash_profile. 我配对这些重复项的最佳方法是什么?有没有办法找出哪些文件正在修改我的路径并尝试消除它们?
我想下载 git repo 的 tar 并将其内容解压缩到另一个文件夹。
以下行(为了清楚起见而分解)有效:
curl -L -0 nt-dotfiles.tar.gz https://api.github.com/repos/nicktomlin/laptop/tarball \
| tar --strip-components=1 -zx -C ~/Documents/dotfiles
Run Code Online (Sandbox Code Playgroud)
但给出了这个错误:
curl: (6) Could not resolve host: nt-dotfiles.tar.gz; nodename nor servname provided, or not known
我可以保持原样(因为它仍然有效),但我对错误很好奇,如果它消失了会感觉更好。
谢谢!