Как правильно развернуть/установить сценарии?

[

] Предел находится в ядре и равен суммарному размеру аргументов и окружения, переданных системному вызову []execve()[], используемому для выполнения команды. Можно разделить ее на несколько вызовов.[

] [

]To []gunzip[] all the []. gz[] файлов в текущем каталоге:[

] [

]с []zsh[]:[

] [
autoload zargs # best in ~/.zshrc
zargs ./*.gz -- gunzip
] [

]С помощью []ksh93[]:[

] [
command -x gunzip ./*.gz
] [

]GNUly:[

] [
printf '%s\0' *.gz | xargs -r0 gunzip
] [

]POSIXly (и с помощью []gunzip[]):[

] [
find . ! -name . -prune -name '*.gz' -exec gunzip {} +
] [

](остерегайтесь, что вы также распакуете спрятанное []. gz[] файлы)[

] [

]Или вы можете увеличить этот лимит на некоторых системах. На последних версиях Linux:[

] [
ulimit -s unlimited
gunzip ./*.gz
]
1
10.02.2015, 23:47
1 ответ

Что ж, работать с функцией init в функции оболочки не так уж и сложно. Например:

fn(){ 
    echo first time called\!
    fn(){ 
        echo not the first time called\!
    }
}
fn; fn; fn

... напечатает ...

first time called!
not the first time called!
not the first time called!

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

Так что может быть хорошей идеей, чтобы исходники ваших установок были как .fn.name (или что угодно) файлов, а затем вызвать их один раз в файле rc - где первоначальный вызов функции обрабатывает все свои собственные настройки по мере необходимости, а затем переопределяет себя для всех последующих вызовов.

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

printf '%b' '[ -f ~/.fn_name ] &&\n\tfn_name(){ . ~/.fn_name; }\n' >>~/.bash.rc

... и внутри ] ~ / .fn_name ...

fn_name(){ : now redefine the function; }

... таким образом fn_name почти не будет использовать какое-либо состояние оболочки, пока не будет вызван впервые, это не будет загромождать .bash.rc ужасно, и им легко управлять.

Однако было бы проще поместить все эти типы в один файл ~ / .fn и получить его из основного rc, а затем извлекать из него каждого отдельного пользователя. .

2
27.01.2020, 23:37

Теги

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