Похож это работает на zsh:
$ZDOTDIR=
каталог, где .zshrc
расположен. Например, export ZDOTDIR=$HOME
.vimrc
, set shell=zsh\ -i
или set shellcmdflag+=i
для того же эффекта. -i
то, потому что при запуске в интерактивном режиме, zshell загрузки $ZDOTDIR/.zshrc
. Посмотрите man zsh
и поиск $ZDOTDIR
для деталей.
POSIXLY Вы можете безопасно избежать любую строку в одну контактную строку для rinterput в оболочку, как:
alias "string=$(cat file)"; alias string
псевдоним
будет жестко цитировать свой вывод и представлять (как минимум) string =
до головы строки. Bash
(в разрыве со стандартом) также добавляет псевдоним псевдоним
к началу вывода. Тем не менее, вы можете получить EVAL
- дружелюбную версию любой строки, например:
string=$(alias "string=$(cat file)"; alias string)
string=${string#*=}
или, чтобы получить его в буфер обмена:
<infile sh -c 'alias "c=$(cat)" c' | sed 1s/..// | xsel -bi
Bash:
> printf %q "this is \"weird\""
this\ is\ \"weird\"
> printf -v var %q "this is \"weird\""
> echo $var
this\ is\ \"weird\"
Если вы хотите избежать каждой двойной кавычки и обратной косички, вы можете использовать
perl -wpe 's/([\\"])/\\$1/g'
, вы также можете использовать это с помощью Xclip:
cat myfile | perl -wpe 's/([\\"])/\\$1/g' | xclip -selection clipboard
Причина отсутствия последовательности «urxvt», «URxvt» заключается в том, что XWindows находятся в иерархии. И почему-то на моем рабочем столе окна urxvt находятся не на первом уровне.
Итак, нужно пройти через целое дерево так:
from Xlib.display import Display
def printWindowHierrarchy(window, indent):
children = window.query_tree().children
for w in children:
print(indent, w.get_wm_class())
printWindowHierrarchy(w, indent+'-')
display = Display()
root = display.screen().root
printWindowHierrarchy(root, '-')
Одна строка (вероятно, довольно длинная) выходных данных сценария тогда:
--- ('urxvt', 'URxvt')
-121--56518- Нет, -k1,2
говорит сортировать по части строки, которая начинается в начале первого поля и заканчивается в конце второго поля.
Для сортировки по первому полю, а затем по второму, это:
sort -k1,1 -k2,2
-121--82194- Oracle, mysql и sqlite все имеют функцию quote
. var thing = quote («так\» странно\« и вещи вещи»)
может работать.
Кажется, что код преобразован на один путь. Очень трудно повернуть вспять, если только одиночные и двойные цитаты ускользают от обратной косой черты, потому что мы не знаем, какую из них удалить.
Лучшим способом, который может безопасно выполнять двунаправленное преобразование как простых, так и двоичных данных, является кодирование base64.
echo \'\"\' \"\'\" \\
'"' "'" \
echo \'\"\' \"\'\" \\ | base64
JyInICInIiBcCg==
echo JyInICInIiBcCg== | base64 -d
'"' "'" \
можно сжать для экономии места.
wc -c /usr/bin/bashbug
6957
gzip < /usr/bin/bashbug | base64 |wc -c
4094