简单的脚本问题

时间:2012-07-01 19:35:43

标签: url variables

我是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

请告知我可以在这里更改的内容。非常感谢你。

1 个答案:

答案 0 :(得分:0)

  • conditions应针对测试程序(测试或[])
  • 编写
  • 变量应该在没有$ on赋值的情况下编写,并使用$ mark参考
  • 编写
  • 在赋值时,变量名,=和值之间应该没有空格。
 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