小编jer*_*ile的帖子

bash - 为什么变量开头的"-e"不能用echo输出?

在命令提示符($)我执行命令:

$ stupid="-a hello"
$ echo $stupid
Run Code Online (Sandbox Code Playgroud)

Echo产生:

-a hello
Run Code Online (Sandbox Code Playgroud)

在命令提示符($)我执行命令:

$ stupid="-e hello"
$ echo $stupid
Run Code Online (Sandbox Code Playgroud)

Echo产生:

hello
Run Code Online (Sandbox Code Playgroud)

为什么"-e"消失了?

string bash set

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

vim中的“ n”键有什么作用?

在正常模式下,每当我按键Ñ(单Ñ或组合与密钥Ñ,如第二,NNJN,等)时,VIM会告诉我正在运行的命令的结果:/最后

我不记得自己是否在不知不觉中完成了此类映射,或者是否误按了某些特定的按键组合。

vim keyboard-shortcuts

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

bash 3 和 bash 5 以不同的方式评估此处字符串空白

我有一个脚本:

#!/bin/bash

{ read a
read b
} <<< $(echo a; echo b)

declare -p a b
Run Code Online (Sandbox Code Playgroud)

我把它写到f,做了chmod +x ./f,并期望它bash ./f./f将是相同的。

他们不是:

~/dev/test[1]$ ./f
declare -- a="a b"
declare -- b=""
~/dev/test[2]$ bash ./f
declare -- a="a"
declare -- b="b"
Run Code Online (Sandbox Code Playgroud)

我想通了,bash ./f使用/usr/local/bin/bash它是5.0.16版本,并且./f使用/bin/bash的3.2.57版本。

这些版本之间发生了什么变化以使其评估不同?这是一个已经解决的错误吗?

bash herestring

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

git reflog 管道传输时丢失数据

git reflog
Run Code Online (Sandbox Code Playgroud)

输出日志看起来像这样

8b388bc (HEAD -> master) HEAD@{0}: commit (amend): tempppp22222
7c33c70 (tag: v2.0) HEAD@{1}: commit: tempppp
76702b2 (origin/master, origin/HEAD) HEAD@{2}: reset: moving to HEAD^
fc1ea9d HEAD@{3}: commit (amend): temp2
0bc8223 (tag: v1.0) HEAD@{4}: reset: moving to 0bc8223
Run Code Online (Sandbox Code Playgroud)

但当我尝试时

git reflog | grep "HEAD@{1}"
Run Code Online (Sandbox Code Playgroud)

输出看起来像这样

7c33c70 HEAD@{1}: commit: tempppp
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我为什么标签名称丢失吗?

git bash grep git-tag

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

标签 统计

bash ×3

git ×1

git-tag ×1

grep ×1

herestring ×1

keyboard-shortcuts ×1

set ×1

string ×1

vim ×1