如何解决Fish Shell:将格式化字符串设置为变量
我想用同一服务器的多个实例打开终端。例如,csshX server1 server1 server1
我正在尝试将格式化的字符串列表分配给单个变量并在 csshX
中使用它。
#!/usr/local/bin/fish
set nmdat (echo 'server1 ' | string repeat -n (echo $countofinstance))
csshX $nmdat
但是,这无济于事。我也试过
csshX (echo 'server1 ' | string repeat -n (echo $countofinstance))
这不起作用。
解决方法
(echo $somevariable)
可以更简单地写成 $somevariable
试试这个:它应该向命令传递 count 个单独的参数:
set server server1
csshX (string repeat -n $count -N $server\n)
演示:
$ set count 5
$ set string foo
$ bash -c 'echo $#; printf \'%s\\n\' "$@"' bash (string repeat -n $count "$string ")
1
foo foo foo foo foo
$ bash -c 'echo $#; printf \'%s\\n\' "$@"' bash (string repeat -n $count $string\n)
6
foo
foo
foo
foo
foo
# with an extra newline
$ bash -c 'echo $#; printf \'%s\\n\' "$@"' bash (string repeat -n $count -N $string\n)
5
foo
foo
foo
foo
foo
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。