bash / zsh别名:我可以抓取参数并在subshell中使用吗?

tgm1024-莫妮卡被虐待了

我想要一个别名,该别名以“。”的字典顺序给出目录列表。文件。似乎可以通过以下几种方法来完成此任务,而无需编写自己的脚本(这不是真正的问题):使用来设置语言环境LC_ALL="C"(这是根据排序手册页以及其他多个站点)的。

但是,将语言环境设置为“ C”会(并且确实)会导致某些软件安装中断。因此,我的短期解决方案与此类似(为简便起见,这没有其他ls选项):

alias ls='(LC_ALL="C"; /bin/ls)'

但是,这不允许将参数“传递”到子外壳中。

这当然行不通:

alias ls='(LC_ALL="C"; /bin/ls $*)'

有没有一种方法可以使用简单的别名来处理?(与编写Shell脚本/函数相反,我可以这样做)。

py

您不需要子shell。您可以通过在命令前添加变量赋值(不带分号)来仅更改以下命令的环境比较例如输出

LC_ALL=C env | grep LC_ALL

与的输出

env | grep LC_ALL

因此,总而言之,以下别名应该对您有用:

alias ls='LC_ALL=C /bin/ls'

我曾/bin/ls在您的示例中使用过,但正如Kamil Maciorowski在对另一个答案的评论中所指出的那样,您键入的ls命令也可能是别名,因此也许您也应该考虑该替代方法:

alias ls='LC_ALL=C ls'

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我可以在bash中使用变量的别名吗?

我可以串联bash别名吗?

可以在Bash中使用,但不能在ZSH中使用?....别名ls ='ls -lh'

在 bash 脚本别名中使用函数参数

我可以在包含换行的bash中使用“列”吗?

我可以在for循环中使用bash括号扩展吗?

我可以在Windows的Git Bash中使用gcloud吗?

我可以在Bash大括号扩展中使用变量吗?

我可以让bash停止解析并验证某个别名吗?

$'text'在Bash中到底有什么作用?可以在Zsh中使用吗?

Bash:在变量中使用别名

我可以使用与bash和zsh相同的语法遍历关联数组的键吗

在 zsh 中使用 bash 函数

zsh无法使用flock,但可以在bash中使用?

是否可以在zsh中使用Django bash补全

如何捕获“ *”作为bash函数的参数并在比较中使用

我可以在 bash 中使用上下文进行排序吗?

我可以在bash的文件路径中使用变量吗?如果是这样,怎么办?

我可以在 sed 中使用 bash 关联数组作为替代吗?

无法在 bash 中使用与号创建别名

如何在bash别名中使用空格?

在别名中使用带有屏幕的 bash

是否可以在Makefile中使用bash参数扩展?

我可以在bash中通过其别名为变量设置值吗?

可以在bash脚本中使用ssh嵌套远程调用吗?

您可以在bash中使用$'...'内的变量吗?

在Shell(zsh或bash)中使用VIM密钥

bash别名中的标志/参数

我可以在 bash 中对代码块使用超时命令吗?