首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在shell中添加现有别名?

如何在shell中添加现有别名?
EN

Stack Overflow用户
提问于 2017-05-24 06:31:16
回答 1查看 98关注 0票数 1

我现在有一个别名,用来表示来自我的套间的ls。

代码语言:javascript
复制
igor@shogun ~ % alias ls
ls='ls -G'
igor@shogun ~ %

这个别名依赖于各种设置,如OS、颜色设置等等。因此,我不能简单地覆盖并希望将现有的别名添加到这样的内容中:

代码语言:javascript
复制
LC_COLLATE=C ls -G

但这不像预期的那样起作用,'-G‘消失了:

代码语言:javascript
复制
igor@shogun ~ % alias ls='LC_COLLATE ls'
igor@shogun ~ % alias ls
ls='LC_COLLATE ls'
igor@shogun ~ %

我能做到:

代码语言:javascript
复制
igor@shogun ~ % alias ls
ls='ls -G'
igor@shogun ~ % alias ls="LC_COLLATE=C `alias ls|sed -E "s/ls='(.*)'/\1/"`"
igor@shogun ~ % alias ls
ls='LC_COLLATE=C ls -G'
igor@shogun ~ %

丑陋!:)

有什么优雅的解决方案吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-24 07:15:10

不依赖像sed这样的外部程序。

代码语言:javascript
复制
eval old$(alias ls);alias ls="LC_COLLATE=C $oldls"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44150591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档