Em geral, a maneira fácil de citar uma string (como um comando shell) que pode conter caracteres arbitrários é:
- Substitua todas as aspas simples
'
na string pela sequência de 4 caracteres '\''
.
- Coloque aspas simples em
'…'
ao redor da string.
Consulte Envolvendo um comando que inclui aspas simples e duplas para outro comando para mais detalhes.
Assim (com uma otimização no último caractere que é uma simples citação):
alias caps='python -c '\''from ctypes import *; X11 = cdll.LoadLibrary("libX11.so.6"); display = X11.XOpenDisplay(None); X11.XkbLockModifiers(display, c_uint(0x0100), c_uint(2), c_uint(0)); X11.XCloseDisplay(display)'\'
No entanto, em vez de se debruçar sobre essas complexidades, basta fazer uma função.
caps () {
python -c 'from ctypes import *; X11 = cdll.LoadLibrary("libX11.so.6"); display = X11.XOpenDisplay(None); X11.XkbLockModifiers(display, c_uint(0x0100), c_uint(2), c_uint(0)); X11.XCloseDisplay(display)'
}
Ou crie um script .