我需要将一些复杂的 xml 写入 bash 脚本中的变量。xml 需要在 bash 脚本中可读,因为这是 xml 片段所在的位置,而不是从另一个文件或源读取。
所以我的问题是,如果我有一个很长的字符串,我想在我的 bash 脚本中成为人类可读的,那么最好的方法是什么?
理想情况下,我想要:
这可以用EOF或其他东西来完成,谁能给我举个例子?
例如
String = <<EOF
<?xml version="1.0" encoding='UTF-8'?>
<painting>
<img src="madonna.jpg" alt='Foligno Madonna, by Raphael'/>
<caption>This is Raphael's "Foligno" Madonna, painted in
<date>1511</date>-<date>1512</date>.</caption>
</painting>
EOF
Run Code Online (Sandbox Code Playgroud) 我试过了:
sudo "some string" >> test.txt
Run Code Online (Sandbox Code Playgroud)
但我收到了拒绝许可的警告。
任何人都可以帮忙吗?
我正在使用一个名为 vlad 的产品,它与我的 Ubuntu 服务器建立非交互式 ssh 连接,但问题是它看不到任何环境变量。
我一直在疯狂地搜索,但找不到解决方案。我已经尝试将变量添加到我服务器上的用户的 .ssh/environment 文件中,并且还更改了 /etc/ssh/sshd_config 中的设置,但没有任何乐趣。
任何人都可以帮忙吗?
干杯,
克里斯
目前,我们的系统完全在 AWS 内部运行。我们对 EBS 进行滚动快照,并经常练习运行恢复。
让我夜不能寐的是把所有的鸡蛋放在一个篮子里。以下是场景:
为了降低这些风险,我正在考虑定期将快照移动到另一个区域的另一个 AWS 账户(使用不同的凭证)。
我的问题是,这是一个足够的预防措施,还是我应该寻找完全从 Amazon 中删除的异地备份?
谁能告诉我为什么这个 bash 脚本在我将它剪切并粘贴到终端时会起作用,但在使用 $ sudo sh server_prep.sh 启动时会抛出“server_prep.sh: 7: Syntax error:”(“unexpected”?
#!/bin/sh
#Packages
apt-get -y install ssh libsqlite3-dev ruby-full mercurial
#Gems
required_gems = ( rake rails sqlite3-ruby )
#Set up directories
[ ! -d /var/www ] && mkdir /var/www
[ ! -d /var/www/apps ] && mkdir /var/www/apps
#install gems manually
if ! which gem >/dev/null; then
wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz
tar xvfz rubygems-1.3.5.tgz
ruby rubygems-1.3.5/setup.rb
ln -s /usr/bin/gem1.8 /usr/bin/gem
gem update --system
#Tidy Up
rm -rf rubygems-1.3.5.tgz rubygems-1.3.5
fi
#Install required gems …Run Code Online (Sandbox Code Playgroud) 我目前是 emacs 用户,但我想我会回来再看看 Vim 以获得乐趣。
我的客户端机器是 Ubuntu,我经常在我的网络中的其他 ubuntu 服务器上工作,emacs 和 tramp 在这方面非常好,我可以通过 sftp 连接到一个文件,然后轻松导航到它的父母/孩子/兄弟姐妹,只是就好像我在处理本地文件系统上的文件一样。
使用 Vim 我可以 sftp 到一个文件,但是导航的东西都不起作用,当我使用 :e 或模糊文件搜索时,vim 仍然认为我回到了客户端机器上。如果我尝试 :cd 到 sftp 目录,我会收到错误消息。
无论如何,无论我是查看 sftp 文件夹还是客户端计算机上的文件夹,我都可以获得相同的文件/文件夹导航吗?
干杯,
克里斯