shell - Passing params to another Bash file, with spaces -
i want pass several parameters 1 bash file another, problem is, seems ignore quote marks, dont want pass $@.
here current setup:
agent.sh:
#!/bin/bash key='insert_key_here'; resp='command start test "srcds_run -game garrysmod +maxplayers 32 +map gm_construct"' ./cmd.sh ${key} ${resp} actually resp coming curl gives me same result.
cmd.sh:
#!/bin/bash echo $1; echo $2; echo $3; echo $4; echo $5; and guess, $5 gives me:
"srcds_run instead of
srcds_run -game garrysmod +maxplayers 32 +map gm_construct what wanted.
so when using $* gives me parameters, fine want them splitted, same using $@, overwrite parameters @ angent.sh script turns parameters $2 , want them splitted...
so solution pass parameters spaces without issues?
in case have use array (and more quotes):
#!/bin/bash key='insert_key_here' resp=( command start test "srcds_run -game garrysmod +maxplayers 32 +map gm_construct" ) ./cmd.sh "$key" "${resp[@]}" note used lowercase variable names (which practice!).
Comments
Post a Comment