我使用 bash shell,有时突然,我的Backspace钥匙停止工作(当这种情况发生时Ctrl+Backspace仍然工作正常)
我不确定为什么会发生这种情况,但它也会延续到我从 shell 使用的任何 vim 会话。令我惊讶的是,获得一个新的外壳并没有帮助,而且问题似乎像开始时一样突然消失。
这就是键入的字符的样子,每次按键都会在外壳Backspace上显示为^?
$ cat filem^?namr^?e
Run Code Online (Sandbox Code Playgroud)
有人知道可能会发生什么吗?我怎样才能恢复正常行为?
工作正常:
==> scp my_log-bin.01393[0-9] root@192.168.103.66:/backup/
Run Code Online (Sandbox Code Playgroud)
错误 - 没有这样的文件或目录:
==> scp my_log-bin.0139[30-99] root@192.168.103.66:/backup/
Run Code Online (Sandbox Code Playgroud) 我在文本文件中有一个目录列表,每个目录都需要删除。我如何将该列表读入命令(rm -r或rmdir)?
我想比较两个文件并忽略一个文件中存在但另一个文件中缺失的行。
例如
文件1:
foo
bar
baz
bat
Run Code Online (Sandbox Code Playgroud)
文件2:
foo
ball
bat
Run Code Online (Sandbox Code Playgroud)
我当前正在运行以下 diff 命令
diff File1 File2 --changed-group-format='%>' --unchanged-group-format=''
Run Code Online (Sandbox Code Playgroud)
在这种情况下会产生
bar
baz
Run Code Online (Sandbox Code Playgroud)
作为输出,即仅缺少或冲突的行。我只想打印冲突的行,即忽略 File2 中缺少一行而 File1 中存在一行的情况(而不是相反)。有什么方法可以使用 diff 来做这样的事情还是我必须求助于其他工具?如果是这样,你会推荐什么?
我需要动态创建变量名,如下所示(简化示例):
#!/bin/sh
IDX=1
SERIES1="a b c d e f g"
SERIES2="h i j k l m n"
# How to get this value contains $SERIES1 or $SERIES2
# depending on the value of $IDX
CURRENT=${SERIES\${IDX}} # doesn't work, just an example
Run Code Online (Sandbox Code Playgroud)
如果IDX=1我期望有
echo $CURRENT
Run Code Online (Sandbox Code Playgroud)
显示
a b c d e f g
Run Code Online (Sandbox Code Playgroud)
如果IDX=2要显示
h i j k l m n
Run Code Online (Sandbox Code Playgroud)
我需要在循环中使用它来处理来自另一个脚本的不确定数量的 SERIES。
编辑
目前使用shshell,但如果需要,我可以使用不同的 shell(即使这意味着我可能需要转换一些东西,但没关系)
我的问题是:如何将所需的系列分配给CURRENT
我尝试了什么?上面的例子(不起作用)和其他风格,例如:
CURRENT=$${SERIES$${IDX}}
CURRENT=${SERIES${IDX}}
Run Code Online (Sandbox Code Playgroud)
编辑2
我正在去某件事的路上:
eval echo …Run Code Online (Sandbox Code Playgroud) 我有从 Linux 上的 shell 运行的 python 进程。目前我无法物理访问这台机器,只能通过 ssh 连接。
我知道 python 进程停止了,我怀疑这个 shell 中存在错误跟踪。
我可以获得 shell 的 pid,但我找不到显示此 shell 中内容的方法。基本上,我正在寻找一种方法来读取已经存在的内容,并且不会丢失此输出或关闭外壳。什么是 Linux 工具可以对已经运行的 shell 中发生的事情有第二个看法?
我正在尝试使用以下方式下载整个网站wget:
wget -r http://whatever/
wget -m http://whatever/
但它只下载带有文本的页面,没有图像。如何下载带有文本和图像的页面?我在这里缺少什么?
在我的 Linux 4.15 机器上,我发现这个yes命令看起来完全没用——它输出一个作为参数传递的字符串(默认'y':),直到被杀死。而且……就是这样。
name@machine:~$ yes
y
y
[...]
y
y
^C
Run Code Online (Sandbox Code Playgroud)
我很难找出可能的用例,特别是考虑到 simplewhile true; do echo y; done具有类似的行为并且更具可读性(但我也找不到任何用例)。
这个命令可以用来做什么?它来自哪里?手册页和完整文档都没有回答这些问题!
我从使用 mint 转移到 Windows 10。我已经为 Windows 安装了 meld。在 Windows 资源管理器中选择两个文件后,如何在右键单击时显示“融合”?
在 macOS Catalina 上,当我复制文本并粘贴到终端时,文本会突出显示(基本上,文本中有 ANSI 颜色代码)。我不知道此功能何时包含在内,但是有没有办法禁用它?
shell ×10
bash ×5
linux ×5
backspace ×1
command-line ×1
copy-paste ×1
cygwin ×1
diff ×1
macos ×1
meld ×1
rm ×1
terminal ×1
unix ×1
wget ×1
windows-10 ×1