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 $servern)

演示:

$ 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 $stringn)
6
foo
foo
foo
foo
foo
# with an extra newline
$ bash -c 'echo $#; printf '%s\n' "$@"' bash (string repeat -n $count -N $stringn)
5
foo
foo
foo
foo
foo

最新更新