Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash f//符号?_Bash - Fatal编程技术网

Bash f//符号?

Bash f//符号?,bash,Bash,试图弄清楚这个脚本在这一部分中到底做了什么 for f in $FILES do ORIGINAL_FILE=${f//$FILE_PATH/} 这将在稍后的diff语句中使用: DIFFER=`diff $f $REPOS_PATH/$ORIGINAL_FILE` 什么是双斜杠(//)?“f”是上面的变量还是其他变量?${…}是。参数扩展有许多变体,由变量名称后的标点符号决定${f//$FILE\u PATH/}是f的值,其中每个子字符串都匹配模式$FILE\u PATH(即模式是

试图弄清楚这个脚本在这一部分中到底做了什么

for f in $FILES
do
    ORIGINAL_FILE=${f//$FILE_PATH/}
这将在稍后的diff语句中使用:

DIFFER=`diff $f $REPOS_PATH/$ORIGINAL_FILE`
什么是双斜杠(//)?“f”是上面的变量还是其他变量?

${…}
是。参数扩展有许多变体,由变量名称后的标点符号决定
${f//$FILE\u PATH/}
f
的值,其中每个子字符串都匹配模式
$FILE\u PATH
(即模式是由空字符串替换的变量
FILE\u PATH
)的值

考虑到脚本后面的内容,它写得很糟糕:显然,
$FILE\u PATH
应该位于
f
值的开头,替换应该是

ORIGINAL_FILE=${f#"$FILE_PATH"}
另外,该脚本缺少一些双引号,因此。

${…}
是。参数扩展有许多变体,由变量名称后的标点符号决定
${f//$FILE\u PATH/}
f
的值,其中每个子字符串都匹配模式
$FILE\u PATH
(即模式是由空字符串替换的变量
FILE\u PATH
)的值

考虑到脚本后面的内容,它写得很糟糕:显然,
$FILE\u PATH
应该位于
f
值的开头,替换应该是

ORIGINAL_FILE=${f#"$FILE_PATH"}

另外,该脚本缺少一些双引号,因此。

No,这将是
${f/$FILE\u PATH/}
@ddbug No,
${f/$FILE\u PATH/}
将替换第一个匹配项。变量名后面有两个斜杠,所有出现的内容都被替换。脚本没有缺少双引号,因为它脆弱地依赖于
$FILES
来扩展到一个以空格分隔的文件名列表。不,这将是
${f/$file\u PATH/}
@ddbug否,
${f/$file\u PATH/}
将替换第一个匹配项。变量名后面有两个斜杠,所有出现的内容都会被替换。脚本不会缺少双引号,因为它脆弱地依赖
$FILES
来扩展到一个以空格分隔的文件名列表。