Re: Looking for tutorials

2016-03-19 Thread Greg Wooledge
On Fri, Mar 18, 2016 at 02:36:46PM -0400, ty armour wrote: > I am looking for tutorials on every and any aspect of developing bash. I > would be looking to write my own bash commands in assembly and C Oh, good, then you can help fix and polish the loadable builtin framework. It's been in bash for

Re: bash 4.4-rc1 EXECIGNORE not fully working?

2016-03-19 Thread Andreas Schwab
Eric Blake writes: > But I don't know whether bash is calling exec[lv] with a canonicalized > name instead of exec[lv]p() with the kernel doing the lookup; PATH searching is a pure user-space concept. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B

Re: mv to a non-existent path now renames instead of failing

2016-03-19 Thread Stephane Chazelas
2016-03-17 09:00:37 -0600, Eric Blake: [...] > That said, if you WANT an error if 'two/' does not exist, and to move > 'one' to 'two/one' if 'two/' does exist, you can always use: > > mv one two/. > > where the trailing '.' changes the semantics required of the rename() > call, and forces an erro

Re: mv to a non-existent path now renames instead of failing

2016-03-19 Thread Eric Blake
On 03/17/2016 05:37 AM, a...@korath.teln.shikadi.net wrote: > Configuration Information [Automatically generated, do not change]: > Machine: x86_64 > OS: linux-gnu > Compiler: gcc > Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='x86_64' > -DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='x86_64-u

Re: bash 4.4-rc1 EXECIGNORE not fully working?

2016-03-19 Thread Eric Blake
On 03/18/2016 10:35 AM, Greg Wooledge wrote: > On Fri, Mar 18, 2016 at 10:27:54AM -0600, Eric Blake wrote: >> What were you expecting to have happen? EXECIGNORE only controls >> whether a file matching the glob is excluded from tab completions (which >> it sounds like it did), not whether bash wil

Re: bash 4.4-rc1 EXECIGNORE not fully working?

2016-03-19 Thread Eric Blake
On 03/18/2016 11:36 AM, Andreas Schwab wrote: > Eric Blake writes: > >> But I don't know whether bash is calling exec[lv] with a canonicalized >> name instead of exec[lv]p() with the kernel doing the lookup; > > PATH searching is a pure user-space concept. Fine. Then read that as "with libc doi

Re: mv to a non-existent path now renames instead of failing

2016-03-19 Thread Pierre Gaston
On Thu, Mar 17, 2016 at 1:37 PM, wrote: > Configuration Information [Automatically generated, do not change]: > Machine: x86_64 > OS: linux-gnu > Compiler: gcc > Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='x86_64' > -DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='x86_64-unknown-linux-gnu' >

Re: mv to a non-existent path now renames instead of failing

2016-03-19 Thread Greg Wooledge
On Thu, Mar 17, 2016 at 09:37:57PM +1000, a...@korath.teln.shikadi.net wrote: > Repeat-By: > rmdir two 2> /dev/null > mkdir one > mv one two/ > > This should (and did in earlier versions) return an error This report needs to be sent to the GNU coreutils mailing list,

Re: mv to a non-existent path now renames instead of failing

2016-03-19 Thread Eric Blake
On 03/17/2016 08:49 AM, Eric Blake wrote: >> Repeat-By: >> rmdir two 2> /dev/null >> mkdir one >> mv one two/ > > POSIX requires this to succeed, and renames 'one/' to 'two/'. That said, if you WANT an error if 'two/' does not exist, and to move 'one' to 'two/one' if 'two/' does e

Re: bash 4.4-rc1 EXECIGNORE not fully working?

2016-03-19 Thread Eric Blake
On 03/18/2016 10:09 AM, Dennis Williamson wrote: > $ type -a ls > ls is /bin/ls > $ # ls tab completion includes ls > $ ls foo > foo > $ EXECIGNORE=/bin/ls > $ type -a ls > bash: type: ls: not found > $ # ls tab completion does not include ls > $ ls foo > foo > $ /bin/ls foo > foo > > So ls is sti

Re: bash 4.4-rc1 EXECIGNORE not fully working?

2016-03-19 Thread Chet Ramey
On 3/18/16 12:09 PM, Dennis Williamson wrote: > $ type -a ls > ls is /bin/ls > $ # ls tab completion includes ls > $ ls foo > foo > $ EXECIGNORE=/bin/ls > $ type -a ls > bash: type: ls: not found > $ # ls tab completion does not include ls > $ ls foo > foo > $ /bin/ls foo > foo > > So ls is still

Re: bash 4.4-rc1 EXECIGNORE not fully working?

2016-03-19 Thread Chet Ramey
On 3/18/16 1:05 PM, Eric Blake wrote: > Maybe the compromise is calling this report a doc bug, and changing > Chet's wording to nuke the trailing "and command execution", so that it > remains as documented mention that it affects ONLY completion (since > 'type -a' is similar to completion in natur

mv to a non-existent path now renames instead of failing

2016-03-19 Thread adam
Configuration Information [Automatically generated, do not change]: Machine: x86_64 OS: linux-gnu Compiler: gcc Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='x86_64' -DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='x86_64-unknown-linux-gnu' -DCONF_VENDOR='unknown' -DLOCALEDIR='/usr/share/local

Looking for tutorials

2016-03-19 Thread ty armour
I am looking for tutorials on every and any aspect of developing bash. I would be looking to write my own bash commands in assembly and C and would be looking to implement versions of bash in both windows and Mac OS x. It can be done, but it takes a bit of time and thinking to get it done. I would

bash 4.4-rc1 EXECIGNORE not fully working?

2016-03-19 Thread Dennis Williamson
$ type -a ls ls is /bin/ls $ # ls tab completion includes ls $ ls foo foo $ EXECIGNORE=/bin/ls $ type -a ls bash: type: ls: not found $ # ls tab completion does not include ls $ ls foo foo $ /bin/ls foo foo So ls is still executed despite the setting. I tried the same with /usr/bin/find and got th