首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为用户设置umask

为用户设置umask
EN

Unix & Linux用户
提问于 2020-07-30 16:46:09
回答 1查看 826关注 0票数 0

如何使umask输出为22而不是0022?

Server1:

代码语言:javascript
复制
user@vxs-app01> umask
22

Server2

代码语言:javascript
复制
user@vxs-app02> umask
0022
EN

回答 1

Unix & Linux用户

发布于 2020-07-30 18:45:58

我:    ,我有1美分,我想把它换成0.01美元。货币兑换出纳:    Um,…,它们是一样的。

你知道22和0022是相同的数字(如果它们被假定在相同的基础上),对吗?如果不是,我说

22和0022是相同的数字(如果它们被假定在相同的基数上)。

这能回答你的问题吗?如果没有,

  1. 你显示给用户@VXS-app01$ umask 22,你有没有收到过?请告诉我们系统的情况。好的,很显然你不想告诉我们你正在处理的系统(S)。那么我的回答是,你可能看到我在下面几段中讨论的任何(或组合)内容:。
    • 服务器1可以将umask别名为某物,或将其重新定义为一种新的外壳函数。
    • 这两个系统可以有不同的shell,也可以有不同版本的shell。
      • zsh似乎只显示了一个前导为零的umask,所以这可以解释022,而不仅仅是22
      • cshtcsh显示的umask似乎没有前导零,但是cshtcshbashkshzsh和其他POSIX友好外壳完全不同;如果服务器1正在运行cshtcsh,您就知道了。
      • 服务器1可能正在运行本地修改的shell。

  2. 如果您只是将22输出显示在Server1上作为一个假设示例,您可以通过键入printf '%o\n' "$(umask)"来获得这个结果,该输出从umask (带有前导零)获取原始输出,并以默认格式显示为八进制整数(不带前导零). ,然后您可以将其放入别名或shell函数中。
  3. 如果您希望shell记住umask值,就像您键入的那样:$ umask 0022 $ umask 0022 $ umask 22 $ umask 022 $ umask 022这将更加困难。如果您想要这样的话,更容易的方法是编写一个外壳函数来包装umask. ,
    • 试着弄清楚怎么做,
    • 如果你失败了,编辑你的问题,让你更清楚地知道你想要什么和你尝试过什么,而我可能会为你设计一个更精确的答案。

一种更难(但更可靠)的方法是获取bash的源并对其进行修改。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/601121

复制
相关文章

相似问题

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