Odpowiedzi:
Używaj „twardych” cudzysłowów dla podstępnych postaci:
sudo sh -c "echo '#' > /file"
$postaci. sudo sh -c 'echo "#" > /file'też by działał. Po prostu oryginalny wiersz skryptu używa tych samych cytatów na obu poziomach bez ucieczki , w wyniku czego sudo sh -c "echo "reszta jest komentarzem (być może dzięki bashopcji interactive_comments)
Jeśli nie chcesz używać różnych cudzysłowów tylko dla jednej postaci, możesz także uniknąć znaku skrótu:
sudo sh -c "echo "\#" > /file"
Podobnie jak w wielu językach skryptowych, polecenia powłoki interpretują znak skrótu ( #) jako początek komentarza.
sudo(i dalej do sh -c). Zasadniczo wykonuje polecenie echo # > /file, które jest równoważne z just echo.
#jest częścią argumentu-copcji; tylko"echo "jest. Po#prostu oznacza początek komentarza w wierszu.