当我执行没有管道或文件重定向的 git log --oneline 命令时,它会提供有关 HEAD 位置和分支的信息(下面示例中的 master )
$ git log --oneline --color=never
8bc8511 (HEAD -> day_20190316) Today # 12
1381438 Today # 11
d87d53a Today # 10
718aef9 Today # 9
b05e17e Today # 8
....
2643d93 (master) Initial commit
Run Code Online (Sandbox Code Playgroud)
但是,当我通过 less 进行管道传输或将其重定向到文件中时,HEAD 和主信息就会消失。我尝试过重定向 stderr 以加入 stdout,但这没有什么区别。
$ git log --oneline --color=never 2>&1 | git log --oneline --color=never 2>&1 | /usr/bin/更多
8bc8511 Today # 12
1381438 Today # 11
d87d53a Today # 10
718aef9 Today # 9
b05e17e …Run Code Online (Sandbox Code Playgroud) 我正在审查一些代码,并对使用的技术感到怀疑.
在Linux环境中,有两个进程连接多个共享内存段.第一个进程定期加载要共享的新文件集,并将共享内存id(shmid)写入"master"共享内存段中的某个位置.第二个过程不断读取此"主"位置,并使用shmid附加其他共享段.
在多CPU主机上,在我看来,如果一个进程在被另一个进程写入时尝试读取内存,可能会依赖于实现.但也许硬件级总线锁定可以防止线路上的损坏位?如果读取过程得到一个很快就要改变的值,那么只要读取被破坏为既不是旧值也不是新值的东西也是无关紧要的.这是一种边缘情况:只有32位被写入和读取.
谷歌搜索shmat的东西并没有让我在这方面做出任何明确的决定.
我强烈怀疑它不安全或理智,而我真正喜欢的是指向详细描述问题的文章的一些指示.
作为Rails新手,我按照railscast#342中的说明在我的Mac上设置postgres数据库连接.
我创建了一个新的rails项目
$ rails new blog -d postgresql
Run Code Online (Sandbox Code Playgroud)
我编辑了数据库yaml文件来设置用户名和密码.
我使用psql添加新用户和密码,并授予它创建表的权限: alter user blog create db
我创建了db via
rake db:create:all
Run Code Online (Sandbox Code Playgroud)
它成功并在psql内部,做\ l列出模式,我看到所有三个模式blog_test,blog_development和blog_production
然后我做
$ rails g scaffold article name content:text
Run Code Online (Sandbox Code Playgroud)
一切看起来都不错
然后我做
$ rake db:migrate
Run Code Online (Sandbox Code Playgroud)
我收到消息显示成功:
$ rake db:migrate
== 20150701220010 CreateArticles: migrating ===================================
-- create_table(:articles)
-> 0.0128s
== 20150701220010 CreateArticles: migrated (0.0129s) ==========================
Run Code Online (Sandbox Code Playgroud)
我设置我的搜索路径来查看架构:
set search_path to lcuff,public,blog_development;
Run Code Online (Sandbox Code Playgroud)
show search_path:
search_path
---------------------------------
lcuff, public, blog_development
Run Code Online (Sandbox Code Playgroud)
但试图找到桌子,
# \d
Run Code Online (Sandbox Code Playgroud)
没有找到关系.
我已经完成了db:migrate VERSION=0它并且它成功报告它丢弃了表,然后我再次创建它db:migrate并报告成功.
如果第一部分没有工作,它实际上创建了模式,我想我会以某种方式指向错误的数据库.
想法?
我正在编写一个vimscript工具,使我可以通过调用git difftool从当前vim会话中查看git diff。当我对两个sha值进行硬编码时,此方法可以很好地工作,但是当我尝试将它们指定为变量时,该方法将失败。我写了两行shell脚本do_git_difftool来探讨问题,它显示出传递了文字变量名称“ l:left_sha”和“ l:right_sha”而不是传递值,即使它们在echom中已正确解释了也是如此。在上一行。是什么赋予了?
function! s:GitDiff (...)
let l:the_count = 1
:let l:syscommand = "get_sha back " . l:the_count
:let l:left_sha = system(l:syscommand)
:let l:syscommand = "get_sha top"
:let l:right_sha = system(l:syscommand)
echom "sha values" l:left_sha l:right_sha
:silent !git difftool l:left_sha l:right_sha
:silent !do_git_difftool l:left_sha l:right_sha
endfunction
# in a bash script named do_git_difftool
echo args are $1 and $2 > thelog
git difftool $1 $2
in the log file I see:
args are l:left_sha and l:right_sha
Run Code Online (Sandbox Code Playgroud) 我使用Vim来阅读手册页.但是我在搜索变量时遇到了麻烦.例如,我使用:
/\<-s\>
Run Code Online (Sandbox Code Playgroud)
搜索'-s',但它找不到任何东西.哎呀.我在文件中看到了它.我究竟做错了什么?
我使用vim,sed,bash和Perl.每个都有一些不同的正则表达式语法.我只是花时间发现我需要在sed中逃避卷曲的parens,而不是在BASH中(当使用它们作为计数器元素时).哎呀.
任何人都可以指向我一个表,总结了这四种环境中不同正则表达式解析器之间的差异.
TIA
在SICP中,(前2.6)将以下函数描述为"没有数字"的方法.我正在试图理解这一点.作为起点,如何调用这些函数?我可以用输出为1的某种方式实际应用它们吗?(或任何其他数字?)
(define zero (lambda (f) (lambda (x) x)))
(define (add-1 n)
(lambda (f) (lambda (x) (f ((n f) x)))))
Run Code Online (Sandbox Code Playgroud)
我最初的尝试没有成功:
Welcome to DrScheme, version 4.1.5 [3m].
Language: Simply Scheme; memory limit: 128 megabytes.
> (add-1 (zero))
. . procedure zero: expects 1 argument, given 0
> (add-1 zero)
#<procedure>
> (add-1 1)
#<procedure>
> ((add-1 1))
. . #<procedure>: expects 1 argument, given 0
>
Run Code Online (Sandbox Code Playgroud)