沙滩星空的博客沙滩星空的博客

shell字符串变量拼接

正确的shell代码脚本:
启动代理:

#!/bin/bash
    su - root -c "sslocal -c /home/username/shadowsocks/"$1".json -d "$2

启动docker-compose:

#!/bin/bash
dockerCommd="docker-compose -f /mnt/docker/docker-compose.yml"
start=$dockerCommd" up -d"
if [ $1 = "start" ];then
    su - root -c "$start"
elif [ $1 = "stop" ];then
    su - root -c "$dockerCommd stop"
fi

由于url中有&,其他参数获取不到。
在linux系统中& 会使进程系统后台运行。

必须加反斜杠 \ 对 & 字符进行转义才能GET获取到所有参数


错误的shell代码:

su - root -c ""$start""
su - root -c ''$start''
su - root -c ""$dockerCommd" stop"
未经允许不得转载:沙滩星空的博客 » shell字符串变量拼接

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址