Созерцайте запутывающую историю почты, гвоздя, mailx.
Кратко, mail
более старая программа, mailx
(раньше nail
в некоторых реализациях), более новая версия, с расширенным интерфейсом mostly-but-not-totally-compatible.
mailx
все еще довольно старо, создается приблизительно в 1986 и standarized как часть POSIX в 1992. Существует несколько реализаций (даже в современных Linux), и некоторые обеспечивают расширения стандарта.
-r
опция является одним таким расширением. В зависимости от Вашего дистрибутива Linux и почтовой посылки Вы установили, Вы могли бы или не иметь той опции. Посмотрите, например, здесь.
Если Вы хотите записать портативные сценарии, лучше не полагаться на него.
Чтобы удалить временный файл как можно быстрее, можно записать обертку, например:
#!/bin/sh
the-application "$1"
rm -f "$1"
заменив the-приложение
именем реального исполняемого файла, и попросить Firefox использовать эту обертку вместо приложения. Или:
#!/bin/sh
the-application "$1"
case "$1" in
/tmp/*) rm -f "$1" ;;
esac
Эта форма более безопасна в случае, если будущие версии Firefox не создадут новый файл для "file:". URL (в данном случае вы не хотите, чтобы файл был удален).
Обратите внимание, что некоторые приложения возвращаются немедленно и могут работать некорректно, если файл будет удален до завершения работы приложения. В таком случае, вы мало что можете сделать (по крайней мере, надежным способом).
Что касается альтернативы (замена существующего файла с тем же именем), это может привести к конфликтам с другими приложениями, использующими /tmp
, с возможными последствиями для безопасности. В целом это не очень хорошая идея.
Не выполнять синтаксический анализ ls
. Кроме того, не используют ALL_CAPS_VARS
for i in "$incoming_dir"/*"$business_date"*; do
Interactively, ls
имеет параметр -d
, который предотвращает переход в подкаталоги:
ls -d $INCOMINGDIR/*$BUSSINESSDATE*
-121--22950- Нет причин, по которым эта команда должна быть рекурсивной. Но если $ INCOMINGDIR/* $ BUSSINESSDATE *
соответствует каталогу, то содержимое этого каталога отображается вместо самого каталога. Но никакой рекурсии за пределами этого уровня не было бы.
Используйте эту команду, чтобы избежать этого эффекта:
ls -d "$INCOMINGDIR/"*"$BUSSINESSDATE"*
для... в командах
с выводом ls
являются рискованными.
В целом найти
кажется лучшим решением или
for i in "$INCOMINGDIR/"*"$BUSSINESSDATE"*
-121--22951- Я уже некоторое время сижу в параметрах Firefox, и они действительно выглядят уродливо.
Но! В вашем примере существует простое решение.
Сначала необходимо создать собственный сценарий, чтобы включить настройку временного пути, затем запустить браузер и, наконец, удалить файлы из временного пути
Это будет выглядеть, как
# !/bin/bash
tmp_folder='/tmp/firefox-tmp'
экспорт TMP = $ tmp _ folder
EXPORT TEMP = $ tmp _ folder # (моему Iceweasel необходимо установить параметры TMP и TEMP!)
mkdir $ tmp _ folder
Firefox
rm -f $ tmp _ folder/*
Сохраните этот файл где-нибудь (на рабочем столе, например :/home//Desktop/firefox.sh и предоставьте разрешение на выполнение с помощью
chmod + x full_path_to_file_on_desktop
При запуске сценария все временные файлы будут перенаправлены в папку/tmp/firefox-tmp, а после закрытия браузера содержимое папки будет удалено.
НАКОНЕЧНИК: Я не установил никаких настроек в Firefox (около: config), чтобы изменить поведение по умолчанию, как вы сталкиваетесь, поэтому, пожалуйста, используйте мое решение. Это действительно работает:)
Вы также можете играть с профилями пользователей и профилями кэша, но это тема для другого... yyy... тема;)