From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26712 invoked by alias); 11 Nov 2017 21:52:54 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: List-Unsubscribe: X-Seq: 22964 Received: (qmail 29625 invoked by uid 1010); 11 Nov 2017 21:52:54 -0000 X-Qmail-Scanner-Diagnostics: from mail-qk0-f175.google.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(209.85.220.175):SA:0(-4.7/5.0):. Processed in 1.565547 secs); 11 Nov 2017 21:52:54 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-4.7 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_PASS,T_DKIM_INVALID autolearn=ham autolearn_force=no version=3.4.1 X-Envelope-From: mikachu@gmail.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=JK8Woikwp9evojsWVitQnp6m3vbhO8Wp/yjt/muNGfU=; b=kISkZvQCjo+Fjw7obAFPlT6ZbVFs5ok0rDI5Q3S6u1VAmaJD9aeaIq3frCjMqUJQ8x aEIJjlxcktQZJTl8qUV0dxNygnGztTFNnJO7l83hWdiiDAIYcFF3TdXN4ix0mxFGtWT4 6kfM8I7f5lx/4PKElBuaVmkSBjATBrVZSl3KOfqDG6kydAHNBpQ8e1UO/2QLicS9/v2a TNyhxl4PbWzMIbJWZWyHS6hffQWpb02lENVbKQqEbFzJAAWRxVbJzSbTF24fcjSGJ7Hb YFjLISRimgiohHVTz+ddE8RUOHoqM/1YkpjiE1ZMW4NypEoWlCz/6mQXlOxMo4E5RUFa /4XA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=JK8Woikwp9evojsWVitQnp6m3vbhO8Wp/yjt/muNGfU=; b=VEa9cRijqM97IekEwNIHUnSpJkzlC0A/ZESAVMw5x8W0qL24nkAkmRz1bQZeTDejN6 Y9vfYw+2ycXyK0xmJTRE9AMPObzmzpnE2+xSEihRuEsqxrJtOHckbzI8f6dmtCWRkeN1 XaATJVusW0JzF2TX62lFF/9HPOkT1I67fdYc+N2B9+nI9tMkP31DOPRTrwEqzxz0Mz13 ZU3/VbGuF/+AJ5KtMNp+QBdGW7+moMhexRmql61fxo7Fs1tpLJr/8FbMeZ0eH5UJOrZr HugsmqjaG7vGoUiMOqb/b3tSwLmYMEOyus0pJg0GAJjGofNOT3Yx5xtnvyFw0FcR+VDI HuTw== X-Gm-Message-State: AJaThX7S1WvzC0PIaeJgoZk9ZmrcXM9cfq3QVTOIu1PcySs+By46gJnx u05oDBBy3M5+AzNRukygE76RdGwoUhvThJXvuns= X-Google-Smtp-Source: AGs4zMYIgQ0rh1ENbbyU6BfkMsIQ+cTMS7CavIsWcTtdNwugZIA42rgP24XxiaKkHm84aANTnNZ7Gngxh0NA6mUZF6o= X-Received: by 10.55.6.149 with SMTP id 143mr6739126qkg.43.1510437169278; Sat, 11 Nov 2017 13:52:49 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <86k1yw63u0.fsf@zoho.com> References: <86k1yw63u0.fsf@zoho.com> From: Mikael Magnusson Date: Sat, 11 Nov 2017 22:52:48 +0100 Message-ID: Subject: Re: random once but not twice To: Zsh Users Content-Type: text/plain; charset="UTF-8" On Sat, Nov 11, 2017 at 7:57 PM, Emanuel Berg wrote: > Just wrote this. Strange thing is, random-video > gives me randomized files, but not > play-random-video, which is just an interface - > or that the intention, at least :) > > Can anyone figure out what is going on? > > All other suggestions how to improve the code, > both style and function, is appreciated, as > always... > > random-video () { > local vid_dir=${1:-.} > local ext=${2:-mkv} > > local vid > local -a vids > local num_vids > local vid_num > > vids=("${(@f)$(ls ${vid_dir}/*.${ext})}") > num_vids=${#vids} > > vid_num=$(( RANDOM % $num_vids + 1 )) > vid=$vids[$vid_num] > > echo $vid > } > alias rv=random-video > > play-random-video () { > local vid_dir=${1:-/mnt-disk/mm/survivor/au/04} > local vid > vid=$(random-video $vid_dir) > echo "playing $vid" > # pl $vid # local function to omx player > } > alias prv=play-random-video The subshell in the second function ensures that the RANDOM state in the parent shell stays the same. -- Mikael Magnusson