gpt4 book ai didi

linux - 如何使用 sh 回显双反斜杠加上变量(版本号),如 "\\hostname\release\1.02A01"?

转载 作者:IT王子 更新时间:2023-10-29 01:22:21 26 4
gpt4 key购买 nike

我想在 Linux shell 脚本中向用户回显一个 Windows 共享文件夹地址,地址是这样的字符串:\\hostname\release\1.02A01。最后一个字符串(1.02A01)是版本号,每次运行脚本时都会更改。我在 sh (不是 bash )中尝试过类似的东西,但它不起作用:

version=$1 # version number are get from the parameter

repository="\\\hostname\release\$version"

echo $repository # I get this: \hostname\dir$version

这是两个错误:

  1. 双反斜杠不正确。
  2. 版本解析不正确。

最佳答案

1) 在 unix/linux sh 中,反斜杠 ("\") 必须转义/前面加一个反斜杠 ("\")。
2) 您在引号内进行的字符串连接是字面意思,如果您想要 $version 的值,则必须将其放在结束引号之外。

我把它放在 centos linux 的 shell ( shell1 ) 中并在 "sh"下执行:

sh-4.1# cat shell1
version=$1
repository="\\\\hostname\\release\\"$version
echo $repository

这是输出:

sh-4.1# ./shell1 1.02A01 <br>
\\hostname\release\1.02A01

关于linux - 如何使用 sh 回显双反斜杠加上变量(版本号),如 "\\hostname\release\1.02A01"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25678262/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com