Выполните xfce4-settings-manager, в Session and Startup
-> Application autostart
, добавьте запись, которая выполняется xmodmap ~/.xmodmap
Или переименуйте файл к ~/.Xmodmap
Стирание новых колей перед сохранением значения в переменной. Вы можете сделать что-нибудь вроде:
var=`cat; echo x`
и использовать ${var%x}
вместо $var
. Например:
printf "%s" "${var%x}"
Обратите внимание, что это решает проблему трейлинга новых строк, но не нулевого байта (если стандартный вход не является текстовым), так как в соответствии с заменой POSIX команды:
Если выход содержит какие-либо нулевые байты, поведение не определено.
Но реализации оболочки могут сохранять нулевые байты.
Вы можете использовать read
встроенный для выполнения этого:
$ IFS='' read -d '' -r foo < <(echo bar)
$ echo "<$foo>"
<bar
>
Для скрипта для чтения STDIN, это было бы просто:
IFS='' read -d '' -r foo
Я не уверен, в каких оболочках это сработает. Но прекрасно работает и в bash, и в zsh.
Вы можете сделать так:
input | { var=$(sed '$s/$/./'); var=${var%.}; }
Что бы вы ни делали $var
исчезает, как только вы выходите из этой {текущей оболочки ; }
группировки в любом случае. Но это также может работать как:
var=$(input | sed '$s/$/./'); var=${var%.}