linux – Unix:猫本身做什么?
发布时间:2020-12-13 19:30:39 所属栏目:Linux 来源:网络整理
导读:我在一个bash脚本中看到行数据= $(cat)(只是声明一个空的变量),并且对这可能做什么感到神秘. 我阅读手册页,但没有一个例子或解释.这是否捕获标签?任何有关这方面的文件? 编辑:具体如何做数据= $(cat)允许它运行这个钩子脚本? #!/bin/bash # Runs all exe
我在一个bash脚本中看到行数据= $(cat)(只是声明一个空的变量),并且对这可能做什么感到神秘.
我阅读手册页,但没有一个例子或解释.这是否捕获标签?任何有关这方面的文件? 编辑:具体如何做数据= $(cat)允许它运行这个钩子脚本? #!/bin/bash # Runs all executable pre-commit-* hooks and exits after,# if any of them was not successful. # # Based on # http://osdir.com/ml/git/2009-01/msg00308.html data=$(cat) exitcodes=() hookname=`basename $0` # Run each hook,passing through STDIN and storing the exit code. # We don't want to bail at the first failure,as the user might # then bypass the hooks without knowing about additional issues. for hook in $GIT_DIR/hooks/$hookname-*; do test -x "$hook" || continue echo "$data" | "$hook" exitcodes+=($?) done https://github.com/henrik/dotfiles/blob/master/git_template/hooks/pre-commit 解决方法
猫会输出其输出.
在您发布的变量捕获的上下文中,效果是将语句(或包含脚本)的标准输入分配给变量. 命令替换$(command)将返回命令的输出;该赋值会将替换的字符串分配给变量;在没有文件名参数的情况下,cat将会读取和打印标准输入. 您发现这个Git钩子脚本从标准输入捕获提交数据,以便可以分别重复地将其连接到每个钩子脚本.你只得到一个标准输入的副本,所以如果你需要多次,你需要捕获它. (我将使用一个临时文件,并且正确地引用所有的文件名变量;但是将数据保存在一个变量当然可以,尤其是如果你只需要相当少的输入.) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |