是否存在对应/dev/stdout的单字符快捷写法(类似/dev/stdin的'-')?
是否存在对应/dev/stdout的单字符快捷写法(类似/dev/stdin的'-')?
嘿,这个问题问得很实在!遗憾的是,bash里并没有像-对应/dev/stdin那样的单字符标准快捷方式直接指代/dev/stdout。
不过针对你提到的「获取不带行号的bash历史」这个场景,除了history -w /dev/stdout,我们可以用一些技巧来简化输入:
- 自定义别名(一劳永逸):在你的
~/.bashrc文件里添加一行alias out='/dev/stdout',保存后执行source ~/.bashrc生效。之后再需要输出到标准输出时,直接用out代替/dev/stdout就行,比如执行history -w out,输入长度瞬间缩短。 - 管道配合文本处理命令:直接通过管道过滤掉行号,比如用
sed做通用匹配:
这个命令会自动去掉每行开头的行号和空格,效果和history | sed 's/^[[:space:]]*[0-9]*[[:space:]]*//'history -w /dev/stdout完全一致,而且输入的字符数比原命令还要少。如果你的bash历史行号位数固定(比如最多4位),也可以用更简洁的cut命令:history | cut -c 8-
总的来说,虽然没有单字符的/dev/stdout快捷写法,但通过别名或者管道命令,完全可以达到简化输入的目的。
备注:内容来源于stack exchange,提问作者Sergey Guzenkov
相关产品推荐
相关产品推荐

