【发布时间】:2016-05-15 11:54:52
【问题描述】:
我正在尝试运行Bash 脚本,该脚本调用appcmd 将站点添加到IIS。
#!/bin/bash
windir=c:\\windows
domain="$1"
path="$2"
#also tried using forward slashes by replacing backslashes
#physicalPath=`echo "$path" | sed 's/\\\\/\//g'`
#add site
$windir\\syswow64\\inetsrv\\appcmd add site /name:$domain /physicalpath:$path
我正在使用以下方式调用脚本:
script.sh mydomain.com c:\mypath
但是,当我检查 IIS 时,网站的物理路径属性是使用 正斜杠 而不是反斜杠设置的。
我做错了什么?
【问题讨论】:
-
尝试改变你的 sed 模式也许是
sed 's!\/!\\!g' -
这会产生错误:
sed: -e expression #1, char 8: unterminateds' command` -
@l'L'l:这会产生相同的错误。但是我的
sed部分实际上并没有产生错误,我echo $physicalPath的值被替换了。只是在IIS中会出现它看不懂的正斜杠 -
我确实注意到了一些事情,我认为你很接近;在许多示例中,物理路径之前有一个
-...所以可能是-PhysicalPath:"C:\ $path",或-PhysicalPath:"$env:systemdrive\"$path,或/[path='/'].physicalPath:%SystemDrive%\$path... -
这确实有效!谢谢! - 非常奇怪(混合
/和-分隔符)我现在将其作为工作命令:$windir\\syswow64\\inetsrv\\appcmd add site /name:$domain -physicalpath:$physicalPath /bindings:http/*:80:$domain