#fish #iterm2
Вопрос:
Я хочу открыть терминал с несколькими экземплярами одного и того же сервера. Например, 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))
Это тоже не работает.
Ответ №1:
(echo $somevariable)
может быть написано более просто, как $somevariable
Попробуйте это: он должен передать команде количество отдельных аргументов:
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