我的一些朋友的 bashrc 来源。所以我最终在 $PATH 变量中有重复的条目。我不确定这是否是命令需要很长时间才能启动的问题。$PATH 在 bash 内部如何工作?有更多的 PATHS 会减慢我的启动时间吗?
我想在终端中查看命令的输出,就好像没有重定向一样。此外,stderr 需要重定向到 err.log,stdout 需要重定向到 stdout.log。
如果在一个单独的文件 stdouterr.log 中也有终端中显示的内容的精确副本,即在它发生时打印错误,那就太好了。
我尝试了以下但它似乎不起作用:
$ cat script.sh
#!/bin/env -i /bin/sh
/bin/env
$ script.sh
/bin/env: invalid option -- ' '
Try `/bin/env --help' for more information.
Run Code Online (Sandbox Code Playgroud) 我正在使用 GNOME 终端 2.7.3 和 zsh 4.3.9 (x86_64-unknown-linux-gnu)
Home
并且End
不工作。当我按下它们时,什么也没有发生,也没有任何显示。但是当我按下shift + Home
(滚动到 shell 输出的开头。)时它们可以工作,并且也可以在其他 GUI 程序中工作。我用谷歌搜索并尝试了以下内容。没变 :(
885 bindkey "\e[1~" beginning-of-line
886 bindkey "\e[H" beginning-of-line
887 bindkey "\e1~" beginning-of-line
888 bindkey "\eH" beginning-of-line
889 bindkey "\e[0H" beginning-of-line
Run Code Online (Sandbox Code Playgroud)
PS:当我在最后一个选项卡中按下时,Ctrl + pagedown
我会;5~
在屏幕上打印出来。这是否提供任何线索?
是否有脚本/程序/实用程序已经以优化的方式满足以下要求?
someCommand |
tee >(grep "pattern" > LinesWhichMatch) |
grep -v "pattern" > LinesWhichDoesNotMatch
Run Code Online (Sandbox Code Playgroud) 我有一些命令可以在末尾没有新行的情况下产生输出,就像这样
Myprompt$ somecmd
dksfjdl
dsfjdlkfj
dsfjdkfj
dfjdkfjMyprompt$
Run Code Online (Sandbox Code Playgroud)
目前我通过somecmd | sed 's/$/\n/' | tr -s '\n'
是否有更好的方法来解决这个问题?
我想在一大组文件中搜索和替换一些文本,不包括某些实例。对于每一行,我想要一个提示,询问我是否需要替换该行。类似于 vim 的:%s/from/to/gc
(带有c
to 提示进行确认),但跨一组文件夹。是否有一些好的命令行工具或脚本可以使用?
Zsh 的补全功能非常棒,除了这个。当我尝试在包含大量文件/网络文件夹的文件夹中完成时,需要几分钟并打印此错误。
example.com:~$ ls /path/to/some/bigFolder/[TAB]
zsh: do you wish to see all 620 possibilities (124 lines)?
Run Code Online (Sandbox Code Playgroud)
相反,有没有办法指定超时时间,之后 zsh 不应尝试自动完成?我也无法取消其搜索。
我想在两台机器之间同步一个大文件夹层次结构。如果符号链接是绝对的,我想复制它们的内容,例如它指向/some/folder/someFile
我想保留符号链接,如果它们是相对的,例如,它指向../../somefolder
我该怎么做?
编辑: 基本上我尽量避免递归。我试过 --copy-unsafe-links 选项,它复制绝对链接但跳过内部或相对链接,不保留链接。
bash ×4
command-line ×2
zsh ×2
autocomplete ×1
env ×1
grep ×1
interactive ×1
logs ×1
path ×1
ps ×1
rsync ×1
scripting ×1
shell-script ×1
size ×1
symlink ×1
tee ×1
vim ×1