我是shell脚本的新手,有一些简单的问题希望有人可以在这里回答。我有一个脚本提供的脚本,其中java函数具有以下格式:
#!/bin/sh
myCall() {
file=$1
cd /xyz/pqr/lmn/gqa/
java -DServletURL=https://bps.hg2.com/bps/bpServlet XMLuser $file > $xlfile
}
在上面,根据用户选择,在需要时,url部分必须被不同的url替换。
myCall函数在脚本中至少调用两次,并且值必须更改。部分XMLuser $ $文件> $ xfile保持相同的ecah调用只有https add ahs要替换。一旦脚本工作,它将被用作cron来根据需要针对diff url运行。
我使用简单变量并将其放在myCall之前以确定url,然后根据用户选择确定脚本,但它不起作用。 java -DServletURL = https://bps.hg2.com/bps/bpServlet XMLuser $ file> $ xlfile没有组合(java -DServletURL = urla XMLuser $ file> $ xlfile)成为用于服务器登录的单个单元。
$url=""
echo "Please select server - A, B or C"
read server
if $server = A; then
$url = "http://www.urla.com"
else $server = B; then
$url = http://www.urlb.com"
else $server = C; then
$url = "http://www.urlc.com"
fi
请告知我可以在这里更改的内容。非常感谢你。
答案 0 :(得分:0)
url="" echo "Please select server - A, B or C" read server if [ $server = "A" ]; then url="http://www.urla.com" fi if [ $server = "B" ]; then url="http://www.urlb.com" fi if [ $server = "C" ]; then url="http://www.urlc.com" fi # myCall $url echo $url
介意你应该想要一个真正的if -else if - else构造然后你可以使用elif
if [ condition ]; then
...
elif [ condition ]; then
...
else
...
fi