может быть, на powershell кто–то пишет? два вопроса инсайде.

Tagged with:
 

5 Responses to Кто пишет на powershell?

  1. Elpogood:

    вводная: powershell 2.0, windows 7 64–bit ultimate.

    во–первых, имею вот такую конструкцию:

    if (get–alias cd –erroraction silentlycontinue)
    {
    remove–item cd
    }

    хочу её обернуть в функцию (с переменной в виде алиаса), но не получается. поиском в интернете нашёл такую страничку, там утверждают, что такое вот должно работать:

    function unalias([string]$Alias,[switch]$Force){
    if( (Get–Alias $Alias).Description –eq «A UNIX–style alias using functions» ) {
    Remove–Item «Alias$Alias» –$Force
    Remove–Item «$alias» –$Force
    if($?) {
    «Removed alias ‘$Alias’ and accompanying function»
    }
    } else {
    Remove–Item «$alias» –$Force
    if($?) {
    «Removed alias ‘$Alias'»
    }
    }
    }

    у меня не работает. в терминал пишет, что removed, но нифига не делает. хорошо, следующий заход.

    function unalias
    {
    remove–item ls
    }

    не поверите, даже это не работает. баг, видимо такой странный. может, кто уже придумал, как его обойти?

  2. Elpogood:

    да, при этом ровно такой же remove–item из терминала или скрипта без обвязки в виде функции — работает. почему так — я не понимаю.

  3. Elpogood:

    второй вопрос. что писать в default. ниже поясню.

    function cd
    {
    switch ($args.length)
    {
    0 {set–location ~}
    1 {set–location $args[0]}
    default {}
    }
    }

    смысл такой — default должен передавать на set–location все аргументы, что переданы функции. аррей $args просто так передать нельзя. передавать через пайп — тоже не то, т. к. тогда они передаются по одному. как один стринг тоже не вариант. как это правильно делается?

  4. Elpogood:

    ну и чтобы два раза не вставать — третий вопрос. есть ли штатный способ разбора аргументов на свитчи с параметрами и параметры без свитчей, отличный от регэкспа. ну, вдруг, такое есть, а я не знаю.

    мне надо, по сути, только оторвать одни аргументы от других. но, может быть, что какая–нибудь general–purpose гетоптоподобная пепяка тоже на это годится.

  5. Elpogood:

    во. я конкретизирую. есть $args, в котором как свитчи, так и строковые параметры. как проще всего распарсить этот $args, чтобы получить на выходе два аррея — один со свитчами (и их значениями), второй со строками, к которым свитча не было?

Добавить комментарий

Ваш e-mail не будет опубликован.