2009-12-29 50 views
8

我有一個字符串Shell腳本+寫入文件中的字符串

server.ip = 192.168.1.200

,我需要完全寫在上面的語句到文件中。

這怎麼辦?

這就是我想要做的......

set client_config = xmlrpc_server.properties 
echo 'serverurl=http://'${IP}':8000' >> %${client_config}% 
echo 'port=/RPC2' >> %${client_config}% 

它不會被添加到該文件。

回答

12

這爲我工作

$ FOO="192.168.1.1" 
$ echo "serverurl=http://$FOO:8000" >> x.conf 
$ more x.conf 
serverurl=http://192.168.1.1:8000 

我使用的zsh。我也用bash驗證過它。當你這樣做時,你會得到什麼問題?

+0

$ more x.conf bash:more:command not found – simpatico 2011-02-22 22:24:28

+0

GNU bash,版本4.1.9(3)-release(i686-pc -cygwin) – simpatico 2011-02-22 22:25:09

+0

'more'不是必需的。我只是用它來顯示內容。另外,什麼樣的系統沒有'更多'? – 2011-02-23 13:56:53

4

echo 'server.ip=192.168.1.200' > file in BASH。

+0

當我使文件名變爲一個變量時,在嘗試執行「模糊重定向」時出現錯誤 – Vivek 2009-12-29 07:48:01

+0

顯示代碼 - 文件名變量中包含什麼? – 2009-12-29 07:54:06

+0

我已更新我的帖子 – Vivek 2009-12-29 08:08:03

1

或者

set filename=yourfile.txt 
echo server.ip=192.168.1.200 >> %filename% 
type yourfile.txt 

如果你需要該行被追加到文件中。需要注意的是雙>>

+0

我已更新我的帖子,請查看 – Vivek 2009-12-29 08:00:20

0
client_config = xmlrpc_server.properties 
echo "serverurl=http://${IP}:8000" >> $client_config 
echo "port=/RPC2" >> $client_config 

上面提到的東西工作。感謝幫助人們!

+1

你在用什麼外殼?第一行不應該在任何Borne Compatible shell中工作。而不是:client_config = xmlrpc_server.properties您應該省略空格,然後寫入:client_config = xmlrpc_server.properties。否則,您嘗試執行帶有第一個參數「=」和第二個參數「xmlrpc_server.properties」的「client_confi」命令 – 2011-04-19 08:50:18