程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了bash 中的 $_ 与 dash 脚本大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决bash 中的 $_ 与 dash 脚本?

开发过程中遇到bash 中的 $_ 与 dash 脚本的问题如何解决?下面主要结合日常开发的经验,给出你关于bash 中的 $_ 与 dash 脚本的解决方法建议,希望对你解决bash 中的 $_ 与 dash 脚本有所启发或帮助;

我需要将一个简短的脚本从 bash@H_419_2@ 移植到 dash@H_419_2@(即 Debian 10 下的 sh@H_419_2@)。它包含以下行:

chown root:www-data /etc/Nginx/conf.d && chmod 775 $_
@H_419_2@@H_874_10@

这现在失败了,因为 $_@H_419_2@ 使用 /etc/Nginx/conf.d@H_419_2@ 保存了前一个命令的最后一个参数(即 bash@H_419_2@),但现在使用非交互式 dash@H_419_2@ 保存了不同的值。作为另一个例子,bash -c 'echo 1 2 && echo $_'@H_419_2@ 和 dash -c 'echo 1 2 && echo $_'@H_419_2@ 的输出也不同。

dash@H_419_2@ 中形成上述类型的“简洁”语句的典型方法是什么(不使用更专业的命令,例如 install@H_419_2@)?

解决方法

只写一个函数。

chownmod () { chown "$1" "$3" && chmod "$2" "$3"; }
@H_874_10@

并用以下内容替换该行。

chownmod root:www-data 775 /etc/nginx/conf.d
@H_874_10@
      ,
        

只需定义一个显式变量来保存目录名称。

d=/etc/nginx/conf.d
chown root:www-data "$d" && chmod 755 "$d"
@H_874_10@

$_ 旨在作为交互式快捷方式。在编辑器的帮助下编写的脚本实际上并不需要这样的快捷方式。

大佬总结

以上是大佬教程为你收集整理的bash 中的 $_ 与 dash 脚本全部内容,希望文章能够帮你解决bash 中的 $_ 与 dash 脚本所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。