gpt4 book ai didi

linux - 获取包含 "typeset -r VAR=value"的 shell 脚本

转载 作者:太空宇宙 更新时间:2023-11-04 04:26:15 25 4
gpt4 key购买 nike

修改包含的脚本 A 的好方法是什么

“排版-r VAR=值”

使脚本可重复(同时维护语句)?

目前,相关脚本在登录时由用户的 .profile 点缀,然后再次由用户从命令行运行的其他脚本点缀。

照原样,脚本将在后续运行中出错,因为 VAR 已经是只读的。

uname -a:Linux Demon 2.6.32-131.0.15.el6.x86_64 #1 SMP 5 月 10 日星期二 15:42:40 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux

问题更新:

如果您通过用户的 .profile 脚本注释掉脚本 A 中的点,那么在登录时,脚本 A 中的点的脚本 B 可以毫无问题地反复运行。但是,如果您随后从命令行运行脚本 A,则后续调用脚本 B 会出错。

如何解释这种行为?

  • 似乎是因为 .profile 在系统上最大的 shell 中运行,而脚本 B 在临时子 shell 中运行。

如何解决?

  • 如何更新脚本 B,以便在尝试设置 VAR 的值并将 VAR 设为只读之前检查 VAR 的只读性和值?

最佳答案

你可以这样做:

test -z "${VAR+set}" && typeset -r VAR=value

关于linux - 获取包含 "typeset -r VAR=value"的 shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8672601/

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