在OS X终端中,当less它自己或其他程序调用时man,在我们退出后它的输出将不会被写入ttyless.例如,如果我们运行less README,我们会暂时被引导到一个屏幕上
SO rocks.
README (END)
Run Code Online (Sandbox Code Playgroud)
按下之后q,输出less会消失,我们最终会得到类似的结果
$less README
$ # shell waiting for input
Run Code Online (Sandbox Code Playgroud)
但是,如果less被调用git(在我的情况下git设置为寻呼机)则不是这种情况less -r.退出后,输出less始终写入tty.例如,如果我们运行git log --oneline,如果日志很短less则甚至不会被调用; 如果日志长于一个屏幕,那么我们会less像往常一样暂时指向输出屏幕:
0000000 set the pager of git to less
......
1111111 what's wrong with git?
(END)
Run Code Online (Sandbox Code Playgroud)
按下之后q,整个东西都被写入了tty,所以我们最终得到了类似的东西
$git log --oneline # OMG!!!
0000000 set the …Run Code Online (Sandbox Code Playgroud) 正如标题中所说,我想知道该-k选项(强烈)是否会影响 GNU 并行的速度。
在man parallel_tutorial存在关于讨论--ungroup和--line-buffer,其声称--linebuffer,其unmixes输出线,比要慢得多--ungroup。那么-k当工作数量很大时,也许也会导致大幅放缓?
(我没有在man parallel或 中找到这个主题man parallel_tutorial;我也没有在谷歌上找到任何东西。不过我还没有完成man parallel,所以如果我错过了一些搜索较少的东西,请原谅。)
考虑以下用于打印单引号的模糊脚本,该脚本适用于ksh:
#!/bin/ksh
echo "$(cat <<EOF
'
EOF
)"
Run Code Online (Sandbox Code Playgroud)
输出:
'
Run Code Online (Sandbox Code Playgroud)
bash 3.2.51(1)然而,当我在 OS X 上运行相同的脚本时,
#!/bin/ksh
echo "$(cat <<EOF
'
EOF
)"
Run Code Online (Sandbox Code Playgroud)
bash 报告以下错误:
./heredoc-within-cmdsubst: line 3: unexpected EOF while looking for matching `''
./heredoc-within-cmdsubst: line 6: syntax error: unexpected end of file
Run Code Online (Sandbox Code Playgroud)
并运行zsh 5.0.2,
#!/bin/zsh
echo "$(cat <<EOF
'
EOF
)"
Run Code Online (Sandbox Code Playgroud)
zsh 报告以下错误:
./heredoc-within-cmdsubst:6: unmatched "
Run Code Online (Sandbox Code Playgroud)
当单引号被双引号或括号替换时,也会发生类似的错误。如果我用匹配的单引号/双引号/括号来平衡单引号/双引号/括号,那么脚本在 bash 和 zsh 中都可以正常运行。
这个问题只是 bash 和 zsh(相关版本)中的一个错误,还是这里违反了任何语法规则?
kevin@KEVIN-PC MINGW64 /C/MongoDB/bin
$ ls
bsondump.exe* mongodump.exe* mongoperf.exe* mongotop.exe*
libeay32.dll* mongoexport.exe* mongorestore.exe* ssleay32.dll*
mongo.exe* mongofiles.exe* mongos.exe*
mongod.exe* mongoimport.exe* mongos.pdb
mongod.pdb mongooplog.exe* mongostat.exe*
kevin@KEVIN-PC MINGW64 /C/MongoDB/bin
$ mongod.exe
bash: mongod.exe: command not found
Run Code Online (Sandbox Code Playgroud)
我在我的 windows8.1 上安装了 Windows 64 位 2008 R2+ 版本的 mongoDB。谁能告诉我为什么在启动 mongod.exe 时出现命令未找到错误?
请注意,我不是在谈论历史上的前几行.我在谈论当前多行命令中的前一行.
例如,当我在zsh中键入多行命令时(_表示光标):
$ for i in {1..5}; do
for> echo i_
Run Code Online (Sandbox Code Playgroud)
在这一点上,我可能会改变主意,并希望让i循环通过{1..10},所以我需要回到上一行.但是,我无法弄清楚如何做到这一点,如⌫,或←,或者C-b,或者我能想到的第二行开头的所有停靠点.那么,是否有可能退回去?提前致谢.
实际上,这不仅限于zsh.例如,我从来没有在bash中想到这一点.
我已经花了相当多的时间谷歌搜索没有任何调查结果,所以请原谅我并责怪我的谷歌如果这是显而易见的.
供您参考,我正在使用Emacs键绑定,以及
$ bindkey | grep delete
"^D" delete-char-or-list
"^H" backward-delete-char
"^[[3~" delete-char
"^?" backward-delete-char
Run Code Online (Sandbox Code Playgroud)
不确定这是否有帮助.
从Selenium切换到时,我一直收到此错误PhantomJs/Poltergeist.谁知道我做错了什么?如果我将驱动程序切换到selenium,脚本可以正常工作.每当我注释掉default_driver = :selenium并替换为javascript_driver = :poltergeist我遇到此错误.
initialize': rack-test requires a rack application, but none was given (ArgumentError)
Run Code Online (Sandbox Code Playgroud)
这都是ruby文件,没有rails.
require 'rubygems'
require 'capybara'
require 'capybara/dsl'
require "open-uri"
# require "date"
# require 'active_support/core_ext/integer/inflections'
require 'capybara/poltergeist'
# require 'selenium-webdriver'
require 'pry'
require 'phantomjs'
# require 'database_cleaner'
Capybara.run_server = false
Capybara.javascript_driver = :poltergeist
# Capybara.default_driver = :selenium
Capybara.app_host = 'https://www.sameplsite.com'
module MyCapybaraTest
class Test
include Capybara::DSL
def login_site
visit('https://www.sameplsite.com')
# binding.pry
click_link('Log in')
fill_in('email', :with => 'joefrank@sharklasers.com')
fill_in('password', …Run Code Online (Sandbox Code Playgroud) 我正在尝试备份我的 www 文件夹,但 www 中的 .config 等隐藏文件夹已添加到备份中。我想排除文件夹“备份”和所有以点开头的文件夹(和文件)。
问题在于它将所有隐藏文件夹(如 .config)复制到 zip 文件中。
当前代码:
zip -r /var/www/backups/site/$(date +\%Y-\%m-\%d-\%H-\%M).zip /var/www -x "*backups*" "*.*" "*/.*"
Run Code Online (Sandbox Code Playgroud) 当我运行 git diff 命令时,文件列表中所有带有重音符号的文件显示效果不佳:
\n\n git diff --name-status xxxx yyyyyy\nRun Code Online (Sandbox Code Playgroud)\n\n返回
\n\nM "\\303\\251\\303\\251.txt"\nRun Code Online (Sandbox Code Playgroud)\n\n我怎样才能保留口音来拥有这个?:
\n\nM "\xc3\xa9\xc3\xa9.txt"\nRun Code Online (Sandbox Code Playgroud)\n\n谢谢
\n\n编辑:我指定该文件以 UTF-8 编码,并尝试使用 OSX 中的 git 2.3.2 和 Ubuntu 中的 git 1.9.1
\n考虑只有一个文件的目录.foo.然后rm -rf *不会删除.foo; 只会rm -rf .*.为什么会这样?(我想这已经是与默认的.和..,但有什么设计理念?我倾向于当他们都应该要删除的文件点留下.)
shell ×3
bash ×2
command-line ×2
git ×2
linux ×2
zsh ×2
gnu-parallel ×1
iterm2 ×1
less-unix ×1
macos ×1
mongodb ×1
phantomjs ×1
poltergeist ×1
ruby ×1
selenium ×1
terminal ×1
ubuntu ×1
unix ×1
web-scraping ×1
wildcard ×1