pcmanfm не отправляет файлы в корзину на внешнем диске

Судя по строке с ошибкой ( ': Нет такого файла ... вместо ' filename ': Нет такого файла ... ), проблема, вероятно, заключается в вашем images.txt , строки которого завершаются CR-LF (то есть images.txt происходит из мира Windows).

Из-за этого ваша строка переменная (имя файла) заканчивается неправильным CR (возврат каретки) (такого файла нет ...). Более того, когда он отображается на экране, из-за встроенного управляющего символа CR печать продолжается с начала строки и перезаписывает имя файла.

Измените формат images.txt так, чтобы его строки заканчивались LF (например, используйте утилиту dos2unix ), или отфильтруйте завершающий CR в bash.

[обновление] Если вы решите отфильтровать CR в bash, в идеале вы можете сделать следующее:

  • read -r -d $ '\ r' line
  • или сразу после read -r line : line = $ {line% $ '\ r'}
2
23.09.2017, 22:06
1 ответ

Uso de la prueba de shell:

#!/bin/bash
read -rp "Choose a number between 1 and 100: " num
echo  
if [ "$num" -le 100 -a "$num" -ge 1 ]; then  
       echo "You chose $num"  
else 
       echo "you chose a number outside of the boundary"  
fi

Usando la prueba extendida de bash:

#!/bin/bash
read -rp "Choose a number between 1 and 100: " num
echo  
if [[ "$num" -le 100 && "$num" -ge 1 ]]; then  
       echo "You chose $num"  
else
       echo "you chose a number outside of the boundary"  
fi

Uso de la aritmética de shell:

#!/bin/bash
read -rp "Choose a number between 1 and 100: " num
echo  
if ((num<=100 && num>=1)); then  
       echo "You chose $num"  
else  
       echo "you chose a number outside of the boundary"  
fi

Nota :Está utilizando -opara o pero parece querer -apara y . Con o solo debe pasar una condición, por lo que el número podría ser -1 o 101.

Además, el lado derecho de -oes como una prueba completamente nueva, por lo que debe volver a introducir la variable en ese lado. Además, solo estoy usando elseen lugar de la declaración elifporque si el número no pasa la primera prueba, no hay necesidad de realizar otra prueba en él.

-121 ---199545 ​​-

Esto es un poco tarde, pero me encontré con el mismo problema. Como resultado, debe deshabilitar la preferencia 'Borrar archivos en medios extraíbles en lugar de la creación de "papelera". Aparentemente, PCManFM ve cualquier unidad con un botón de desmontaje como medio extraíble . Una vez hecho esto, el envío de archivos a la papelera funciona como se esperaba.

enter image description here

4
27.01.2020, 22:18

Теги

Похожие вопросы