Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: permission denied




On 2023-04-21 14:58, Bart Schaefer wrote:

In this circumstance using eval would be much closer to correct.
That's how my system currently works, and it works fine, but I'm tinkering with any possible improvements, namely being able to use $chain1 instead of history.
But
--- why are you even bothering to split it at all if the intention is
to run it?  I thought the point was to put it in the history or some
other editable place as separate commands.

Yeah, it's all just experimentation.  Sometimes, indeed

% chain1

... cooks off and does something useful, other times 'eval' seems needed.  I don't think I've ever explained it well, but the only purpose is to be able to tinker with one of my functions in two steps: 1) what do I want? 2) how do I get it?  By writing and retrieving from history -- or a variable, I can do stage one tinkering very easily:


0 /aWorking/Zsh/Source/Wk 1 % l ,H h*     # ',H' switch saves to history

LISTING of "h*": All file types, INsensitive. Sorting upside down by: Mod. Time:

  640 [2022-12-22--07:12] highlight.css
 3307 [2023-01-19--16:17] h,1,light edits, old code removed
 3279 [2023-01-19--17:41] h,2,got n_list working
 3279 [2023-01-19--17:41] h

Items found: 4
Total bytes in directory "/aWorking/Zsh/Source/Wk": 1.5M
Total including subdirs: 25M

... press the up arrow (retrieve last command) and I get the 'real' command executed above:

0 /aWorking/Zsh/Source/Wk 1 % ls --time-style='+[%F--%H:%M]' --group-directories-first -AFrGgdt --color=always (#i)h* 2> /dev/null | sed -r "s/^(.{10} {1,3}[[:digit:]]{1,3} )/ /" | egrep -v '^total' | sed '/;34m\.\x1b\[0m\/$/d' | perl -pe "s|\] (.*?)(h)|\] \1^[[31;1m\2^[[0m|i"
  640 [2022-12-22--07:12] highlight.css
 3307 [2023-01-19--16:17] h,1,light edits, old code removed
 3279 [2023-01-19--17:41] h,2,got n_list working
 3279 [2023-01-19--17:41] h

... so if I want to tinker, I can edit the above 'real' command, and then, once I know what I want to change, I go to my own code, which constructs the above, and make it construct it with the desired modification.  Two steps.  So, in practice, I'll never need to worry about multi-command command lines.  It's all a bit involved but as I do it now 'eval' is always used.

If you ever have a morbid curiosity about what I've been doing all these years:

https://github.com/RayAndrews56/zsh-wrappers

... I'd be most interested in a review!  'c' and 'h' really are genuinely useful.








Messages sorted by: Reverse Date, Date, Thread, Author