%symbol在unix中有什么用途
Example.sh:%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
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。这也是和上面一样的工作吗?