请帮我写一个打开多个标签gnome终端的bash脚本。 我看到过这个脚本的错误信息。
无法解析参数:“--command / -e”的参数无效 命令:文本在找到匹配的引用之前结束'。 (文本 是''ssh')
此致
#bin/bash
# Open a terminal to each of the servers
#
# The list of servers
LIST="server01.com server02.com server03.com"
KEYRSA="rsa.key"
KEYDSS="dss.key"
USERLOGIN="username"
RUNONSERVER="sudo -s"
for WWW in $LIST
do
TITLE=`echo -n "${s}" | sed 's/^\(.\)/\U\1/'`
#RUNCMD="--tab --title=${TITLE} --command ssh -t -i ${KEYDSS} ${USERLOGIN}@${WWW} ${RUNONSERVER}"
RUNCMD="--tab --title=${TITLE} -e 'ssh -t -i ${KEYDSS} ${USERLOGIN}@${WWW} ${RUNONSERVER}'"
done
gnome-terminal --geometry=120x50+500+100 ${RUNCMD}
exit 0
答案 0 :(得分:0)
首先,阅读how to put a command in a variable。然后,如果将set -o xtrace
添加到文件的顶部,则可以看到循环中实际执行的命令。您希望最终命令只包含语法 quotes,而不是文字。
一些更普遍适用的提示:
$(my_command)
syntax for command substitution