Я Проверил sed с -E
agrs, но не работа, таким образом, я использовал следующие изменения, кажется работой..
CommentAppend() {
# Comment line and append line below commented line
local comment="$( echo "$1" | sed 's/\(\/\)/\\\//g' )" # search this line and comment it
local append="$( echo "$2" | sed 's/\(\/\)/\\\//g' )" # Append this line below commented line
local InputFile="$3"
sed -i "s/${comment}/#${comment}/g ; s/#${comment}/& \n${append}/" $InputFile
}
Тест
root@router:~# bash -x /tmp/test.sh
+ CommentAppend 'connection = sqlite:////var/lib/keystone/keystone.db' 'connection = mysql://keystoneUser:keystonePass@10.10.10.51/keystone' /tmp/test.conf
++ sed 's/\(\/\)/\\\//g'
++ echo 'connection = sqlite:////var/lib/keystone/keystone.db'
+ local 'comment=connection = sqlite:\/\/\/\/var\/lib\/keystone\/keystone.db'
++ sed 's/\(\/\)/\\\//g'
++ echo 'connection = mysql://keystoneUser:keystonePass@10.10.10.51/keystone'
+ local 'append=connection = mysql:\/\/keystoneUser:keystonePass@10.10.10.51\/keystone'
+ local InputFile=/tmp/test.conf
+ sed -i 's/connection = sqlite:\/\/\/\/var\/lib\/keystone\/keystone.db/#connection = sqlite:\/\/\/\/var\/lib\/keystone\/keystone.db/g ; s/#connection = sqlite:\/\/\/\/var\/lib\/keystone\/keystone.db/& \nconnection = mysql:\/\/keystoneUser:keystonePass@10.10.10.51\/keystone/' /tmp/test.conf
Я нашел связанный с этим вопрос по Ask Ubuntu , который вроде как сделал трюк для меня. Инструкции для всего процесса, включая создание "разрыва" между мониторами (работает, по крайней мере, на Ubuntu 14.04):
$ xrandr | grep Screen
Экран 0: минимум 320 x 200, ток
2048 x 1280
, максимум 32767 x 32767
тока
- в моем случае 2048). Я выбрал гэп в 136 пикселей, так что у меня будет новый экран шириной 2184. xrandr --fb 2184x1280
$ xrandr | grep ^[^\(]*правый.
HDMI3
подключил 1024x1280+
1024
+0 правый (нормальная левая перевернутая правая ось х ось у) 376мм х 301мм
xrandr --output HDMI3 --pos 1160x0
Now, make Compiz handle the whole area as one single screen
sudo apt-get install compizconfig-settings-manager
)При разворачивании окна он растягивает оба монитора. Полный экран также растягивает оба монитора.
Очевидно, что это не идеально, так как в большинстве случаев желательно, чтобы максимизированные окна заполняли один монитор. Это означает, что опция компиляции "Detect Outputs" должна быть отмечена и снята в зависимости от того, какое поведение желательно в данный момент.
Примечание для пользователя с неанглийской локалью: Если вы не можете найти плагин и настройки CompizConfig, потому что не знаете, как они были переведены, запустите CompizConfig следующим образом:
LANG=C ccsm