Intereting Posts
Найти последний файл по расширению Как настроить простой Debian 7 как шлюз? Создание динамически управляемых веб-сайтов с помощью Mason (Perl) с httpd на текущей версии OpenBSD Список версий программного обеспечения по умолчанию для данного выпуска Ubuntu Как настроить интервал между символами после определенной строки? Как я могу эффективно управлять своим crontab, чтобы избежать проблем с помощью нескольких обновлений несколькими пользователями? Почему это не работает, когда средняя загрузка превышает 1? SSH-туннель между несколькими хостами Может ли `make` автоматически устанавливать зависимости? Задача Cron начинается в 5:30 и выполняется каждые 5 минут один раз Ошибка CMake: текущий каталог отличается от Не удается запустить `startx` из сеанса внутреннего экрана Замена шаблона другим между первым и вторым вхождением шаблона в файл Перенаправление совпадений sed в отдельные файлы Разрешение ошибки разрешено через ssh

Как вы завершаете исполняемые команды, чтобы они работали в псевдониме или функции?

Я все еще обожаю причуды сценариев оболочки, но я чувствую, что мне становится немного более комфортно с ним.

Я пытался создать псевдоним для создания tar-файла, который мне нужно создавать часто, но он всегда дает мне tar-ошибки. Так же, как тест, я попытался создать простую оболочку, но она не работает:

function eztar(){ if [ -d $1 ] then export QTAR="$1.tar"; tar –cvf ${QTAR} "$1/"; else echo "Missing directory name"; fi } >eztar mydir tar: invalid option -- '' Try `tar --help' or `tar --usage' for more information. 

Опция -cvf в этом случае как-то съедается?

Во всяком случае, вот еще один.

У меня была проблема, когда у Apache закончилась память. Я обнаружил, что слишком много неудачных выходов заставляют семафор заполняться, поэтому, чтобы исправить это, я обнаружил, что мне понравился сценарий, и я попытался заставить его работать в псевдониме. (Кстати, есть ли лучший способ сделать это?) Я думаю, мне нужно включить это в функцию, потому что, когда я проверяю псевдонимы, цикл for расширился до списка текущих семафоров, чего я не хотел.

 alias semfix='eval "for i in `ipcs -s # grep apache # awk '{print $2}'` ; do ipcrm -s $i; done";' 

Я изучаю, что не могу просто создать псевдоним или функцию обертки из всего на Unix!

Нет ничего плохого в вашей первой функции, кроме опечатки.
Символ перед cvf не является минус- cvf .
Вы используете std. US 101 клавиатура клавиатуры?

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

Кроме того, нет необходимости в export
export приводит к тому, что переменная среды имеет большую настойчивость, чем требуется в такой функции.

Я предлагаю вам ознакомиться с руководством Advanced Bash-Scripting Guide
Посмотрите на let , local и export .
Посмотрите, как они меняются, когда использовать тот или иной.

Да, вы должны попробовать и переписать второй как функцию.
Менее вложенные цитаты и трубопроводы, в процессе обучения, облегчат выполнение функций записи и псевдонимов.

Один лайнер приходит позже 🙂

Попробуйте использовать tar без знака минус, т.е. просто tar cfv

Это оригинальный, теперь нестандартный формат.