gpt4 book ai didi

linux - 如何避免 shell 中的魔数(Magic Number)?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:46:00 24 4
gpt4 key购买 nike

我总是在我的交互式 shell 和 shell 脚本中写一些神奇的数字。

例如,如果我想列出我的用户名和 shell,我会写

cut --delimiter=: --fields=1,7 /etc/passwd

存在两个魔数(Magic Number)1,7。并且在其他情况下有越来越多的魔数(Magic Number)。

问题

如何避免交互式 shell 和 shell 脚本中的魔数(Magic Number)?

补充背景

我们的老师告诉我们使用 cut -d: -f1,7/etc/passwd。但是对于linux新手来说,他们不知道d,f,1,7是什么意思.(不仅仅是对于新的linux用户,整个系统有太多的配置文件,一个人要记住每一个魔数(Magic Number)并不容易)

因此,在交互式 shell 中,我们可以使用 --delimiter--fields,并且 bash repl(或 zsh、fish)具有良好的制表符补全功能.

17 怎么样?在 shell 脚本中,在读取 man 5 passwd 后,声明一些常量变量(如 LoginField=1 和 ShellField=7)是一个很好的方法。但是当有人在交互式 shell 中编写时,打开一个新窗口并搜索 LoginField=1,ShellField=7 的常量并定义它并不是一个好主意.如何使用 Tab 完成之类的东西来简化操作?

最佳答案

使用变量:

LoginField=1 ShellField=7
cut --delimiter=: --fields="$LoginField,$ShellField" /etc/passwd

关于linux - 如何避免 shell 中的魔数(Magic Number)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45521437/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com