Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.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
%symbol在unix中有什么用途_Unix_Echo - Fatal编程技术网

%symbol在unix中有什么用途

%symbol在unix中有什么用途,unix,echo,Unix,Echo,Example.sh: SERVICE="${0##*/}"; SERVICE="${SERVICE%.sh}" echo $SERVICE 上面的脚本提供了Shellscript名称作为输出。但是,它到底是如何工作的呢? 第1行和第2行的目的是什么? 有人能帮我吗?服务=“${0##*/}” ${x}其中x是一个数字,返回由索引x标识的命令行参数值。如果x为0,则返回脚本名本身,包括路径。 操作##*/从该值中去除路径 执行此操作后,服务包含scriptname+扩展名,但不包含路径 SE

Example.sh:

SERVICE="${0##*/}";
SERVICE="${SERVICE%.sh}"
echo $SERVICE

上面的脚本提供了Shellscript名称作为输出。但是,它到底是如何工作的呢? 第1行和第2行的目的是什么? 有人能帮我吗?

服务=“${0##*/}”

${x}
其中x是一个数字,返回由索引x标识的命令行参数值。如果x为0,则返回脚本名本身,包括路径。 操作
##*/
从该值中去除路径

执行此操作后,
服务
包含scriptname+扩展名,但不包含路径

SERVICE=“${SERVICE%.sh}”

当在模式
${variable%substring}
中使用百分号(%)时,它将返回变量的内容,其中从变量后面删除的子字符串出现时间最短

因此,在此操作之后,
.sh
将从
${SERVICE}
变量中的值中剥离。现在
SERVICE
包含不带路径和扩展名的脚本名。

SERVICE=“${0##*/}”

${x}
其中x是一个数字,返回由索引x标识的命令行参数值。如果x为0,则返回脚本名本身,包括路径。 操作
##*/
从该值中去除路径

执行此操作后,
服务
包含scriptname+扩展名,但不包含路径

SERVICE=“${SERVICE%.sh}”

当在模式
${variable%substring}
中使用百分号(%)时,它将返回变量的内容,其中从变量后面删除的子字符串出现时间最短


因此,在此操作之后,
.sh
将从
${SERVICE}
变量中的值中剥离。现在
SERVICE
包含脚本名,没有路径,也没有扩展名。

谢谢。第一线服务=“${0###*/}”的目的是什么;使用${variable%substring}而不是使用${variable}有什么目的/优点吗?我的回答很精确,谢谢你的解释。Variable=Username Variable=${Variable:?“是必需的。”}echo$Variable。这也和上面的一样吗?谢谢。第一线服务=“${0###*/}”的目的是什么;使用${variable%substring}而不是使用${variable}有什么目的/优点吗?我的回答很精确,谢谢你的解释。Variable=Username Variable=${Variable:?“是必需的。”}echo$Variable。这也是和上面一样的工作吗?