我如何 运行 远程服务器上的本地 fish 脚本?
How do I run a local fish script on a remote server?
使用 ssh 和 bash,可以 运行 远程服务器上的本地 bash 脚本:
$ ssh user@server "bash -s" -- < ./example.bash "--arg1" "arg2"
假设 fish 安装在远程服务器上,运行 远程服务器上的本地 fish 脚本的等效命令是什么?
等效命令为:
$ ssh user@host fish -- < ./example.fish --arg1 arg2
在本地演示(没有 ssh,并假设系统有 /dev/stdin 设备):
$ echo 'set -S argv' | fish -- /dev/stdin --abc def
$argv: not set in local scope
$argv: set in global scope, unexported, with 2 elements
$argv[1]: length=5 value=|--abc|
$argv[2]: length=3 value=|def|
$argv: not set in universal scope
或者使用/dev/fd/0.
使用 ssh 和 bash,可以 运行 远程服务器上的本地 bash 脚本:
$ ssh user@server "bash -s" -- < ./example.bash "--arg1" "arg2"
假设 fish 安装在远程服务器上,运行 远程服务器上的本地 fish 脚本的等效命令是什么?
等效命令为:
$ ssh user@host fish -- < ./example.fish --arg1 arg2
在本地演示(没有 ssh,并假设系统有 /dev/stdin 设备):
$ echo 'set -S argv' | fish -- /dev/stdin --abc def
$argv: not set in local scope
$argv: set in global scope, unexported, with 2 elements
$argv[1]: length=5 value=|--abc|
$argv[2]: length=3 value=|def|
$argv: not set in universal scope
或者使用/dev/fd/0.