Подстановки команд, такие как $(basename...)
и переменные, также расширяются в здесь -документах, если разделитель не заключен в кавычки. Вы должны избежать $
из $(basename...)
, а также любого $
внутри него.
Исправлена версия вашего скрипта:
for letter in {A..Z}
do cat <<- EOF > batch_${letter}.sh
#!/bin/bash
module load R/3.5.1
R_func="/home/dir/R_func"
TREAT="/home/dir/POP"
BASE="/home/dir/base"
OUTPUT="/home/dir/tmp"
for letter in {A..Z} do {
for AF in \${BASE}/${letter}*.txt_step3; do
Rscript \${R_func}P_tools.R \
--ptool \${R_func}/P_tools_linux \
--group \${AF} \
--treat \${TREAT}/pop_exclude24dup \
--out \${OUTPUT}/OUT_\$(basename \${AF%%_txt_step3})_noregress \
--binary-target F; done
}
EOF
done
На самом деле это табуляция с отступом; этот глупый веб-интерфейс превращает вкладки в пробелы, что, вероятно, нарушит <<-
, который в любой оболочке POSIX удаляет только вкладки, а не пробелы перед разделителем EOF и строки из документа здесь -.
вопрос был перекрестным -размещенным на askubuntu, это копия моего ответа отсюда
Судя по комментариям, блокировка перетаскивания действительно работает, но ее легко пропустить из-за тайм-аута перетаскивания (, т. е. времени, в течение которого «перетаскивание» работает после того, как вы убрали палец с сенсорной панели, но до того, как вернули его)очень маленький, это 300 мс. По умолчанию у Synaptics было 5 секунд.
Причина, по которой он такой маленький, заключается в том, чтобы быть ненавязчивым. Хотя, вероятно, может быть полезно увеличить его до бесконечности из соображений доступности.
В банкомате нет простого способа изменить время ожидания. В качестве хака можно изменить значение тайм-аута в этой строке и пересобрать libinput из исходников.
Однако, как правильно отмечено OP, существует открытый MR , позволяющий настроить тайм-аут. Который был заброшен автором, как и соответствующий выпуск . Но легко увидеть, что сопровождающий открыт для этой идеи. Вы можете попытаться присоединиться к обсуждению, и если ваши рассуждения окажутся достаточно убедительными, перебазировать и слить уже существующий MR должно быть тривиально.