1

サーバー上のファイルに定義された変数のリストがあり、それらの変数をローカル マシン上のファイルに保存せずに、ローカル マシン上のスクリプトにロードしたいと考えています。

サーバー上のファイル名はvariables.properties

の内容を次のように仮定しますvariables.properties

var1="string1"
var2="string2"
var3="string3"
var4="string4"

現在、次のように、そのファイルの内容をローカル マシンに戻すことができます。

!#/bin/sh

vars=$(ssh user@server "cat /variable.properties")
echo $vars

これらの各変数を変数からスクリプトにロード$varsして、ローカル マシンで同じ名前と値を持つようにする方法はありますか?

4

4 に答える 4

2

試すeval "$vars"

それは私のために働くようです。

于 2013-06-07T18:48:48.077 に答える
2

スクリプトを実行しない簡単な方法は次のとおりです。

eval `ssh user@server cat /variable.properties`
于 2013-06-07T18:52:15.530 に答える
1

sh の代わりに bash をスクリプト インタープリターとして使用する場合は、次のことができます。

source <(ssh user@server "cat /variable.properties")

多分

scp -q user@server:/variable.properties .
. variable.properties
于 2013-06-07T19:42:47.277 に答える
0
chmod +x /path/to/variables.properties
. /path/to/variables.properties

これにより、ファイルがソースされ、var1、var2 ... が作成されます。これは、cat を使用するよりも、この種の問題にアプローチする通常の方法です。

于 2013-06-07T18:49:15.693 に答える