Linux Shell - некоторые переменные и методы НЕ добавляются в текстовый файл

Предполагая, что ваш пакет называется foo.deb, вы можете получить фактическое имя пакета (а также все остальные поля, перечисленные в выводе dpkg-deb -I foo. deb), используя dpkg-deb с опцией -f:

dpkg-deb -f foo.deb Package
  • -f foo. deb Package: извлекает поле Package из foo. deb пакета;
user@user-X550CL ~/tmp % ls -l
totale 46316
-rw-rw-r-- 1 user user 47425034 ott  5 05:55 foo.deb
user@user-X550CL ~/tmp % dpkg-deb -f foo.deb Package                      
google-chrome-stable

Расширяя это, вы можете удалить данный пакет напрямую, используя подстановку команды, выполнив dpkg-deb -f foo.deb Package внутри команды dpkg -r:

sudo dpkg -r $(dpkg-deb -f foo.deb Package)
1
12.05.2019, 23:36
2 ответа

Проблема в имени файла $CuestaP.txt. Либо вы хотите, чтобы $было буквально частью имени файла, тогда вам нужны одинарные кавычки или обратная косая черта :'$CuestaP.txt', \$CuestaP.txt. Или это должна быть переменная, но вы оба забыли определить ее и смешали с литералом.

Ваши данные в файле.txt

0
28.01.2020, 00:38

[ -s *.fa ]завершится ошибкой, если существует несколько файлов с именами, заканчивающимися на .fa. Вы либо тестируете его с одним именем файла (hs_alt_HuRef_chr10.fa? )или вы зацикливаетесь:

for name in *.fa; do
    if [ -s "$name" ]; then
        printf '"%s" has data in it\n' "$name"
    fi
done >>"$CuestaP.txt"

Это, наряду с большей частью остальных операторов вывода, предполагает, что CuestaPявляется переменной. $CuestaP.txtрасширится до содержимого этой переменной, а .txtбудет добавлено в конец значения.

Насколько я вижу, $CuestaPне будет расширен до нуля, и большая часть ваших данных попадет в файл с именем.txt(— скрытый файл в текущем каталоге ).

0
28.01.2020, 00:38

Теги

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