Parece que você tem um par extra de caracteres com aspas simples em torno do nome do arquivo que precisa ser removido.
Aqui, eu tenho um arquivo chamado "olá":
$ ls
hello
Tentando excluí-lo com aspas simples extras assim:
$ rm "'hello'"
mostra exatamente a mensagem de erro que você vê:
rm: cannot remove '\'hello\'': No such file or directory
o \'
antes e depois do nome são aspas simples que você precisa remover.
EDITAR:
No seu caso (como outro respondente observou) a saída de
gsettings get org.gnome.desktop.background picture-uri
retorna um resultado como:
'file:///usr/share/backgrounds/Tie_My_Boat_by_Ray_Garc%C3%ADa.jpg'
Assim, você deseja remover o 'file://
inicial e o final '
. Isso pode ser feito corretamente usando sed
assim (usando apenas uma expressão com um grupo)
sed -e "s|^'file://\(.*\)'$||g"
ou talvez mais fácil de ler (usando duas expressões simples)
sed -e "s|^'file://||g" -e "s|'$||"
Por favor, note:
-
^
corresponde ao início da linha
-
$
corresponde ao final da linha.
- qualquer caractere pode ser usado em
sed
para cercar a pesquisa e substituir expressões. Normalmente, você usaria /
, mas nesse caso é mais fácil usar outra coisa, então eu uso |
.