You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue tracks the implementation of non-portable extensions for built-in utilities.
Portable features are tracked in #7.
In the list below, built-ins are grouped by their dependent environments.
However, most built-ins additionally depend on the standard output and error file descriptors and variables.
Execution control
.
Non-portable options
-A, --no-alias
-L, --autoload
--help
break
Non-portable options
-i, --iteration
--help
continue
Non-portable options
-i, --iteration
--help
eval
Non-portable options
-i, --iteration
--help
exec
Non-portable options
-a ..., --as=...
-c, --clear
--cloexec
-f, --force
--help
exit
Semantics
Allow exit status of 256+
Non-portable options
-f, --force
--help
newgrp
return
Semantics
Allow exit status of 256+
Only return from functions and dot scripts in POSIXly-correct mode (Reject returning from trap, exiting the shell, etc.)
Non-portable options
-n, --no-return
--help
Printing
echo
Implement echo built-in
help
Implement help built-in
printf
Implement printf built-in
Working directory
cd
Semantics
Allow - operand used together with -L or -P option
$YASH_AFTER_CD
Non-portable options
Long options
--default-directory=...
--help
dirs
Show directory stack
popd
Update directory stack
pushd
Update directory stack
pwd
Non-portable options
Long options
--help
File creation mask
umask
Non-portable options
Long options
--help
Limits
ulimit
Semantics
Support limits other than file size (-f)
Non-portable options
Long options
--help
Spent times
times
Non-portable options
--help
Signals
kill
Semantics
(Dis)allow signal names prefixed with SIG
(Dis)allow non-zero numbers as an argument to -s option
(Dis)allow signal names as operands for -l option
(Dis)allow multiple operands with -l option
Non-portable options
-n
-v
Include descriptions with -v
--help
suspend
Implement suspend built-in
trap
Semantics
Allow non-uppercase signal names
Allow signal names prefixed with SIG
Non-portable options
-p, --print
--help
Jobs
bg
Semantics
Allow job IDs without the % prefix
Send SIGCONT even if the target job is already running
Non-portable options
--help
disown
Implement disown built-in
fg
Semantics
Allow job IDs without the % prefix
Allow more than one job ID operand per invocation
Print the job number on resuming a job
Consider saving/restoring the terminal state before/after resuming the job
Non-portable options
--help
jobs
Semantics
Allow job IDs without the % prefix
Non-portable options
Long options
-n, --new
-r, --running-only
-s, --stopped-only
-t, --terminated-only
(Idea: option to print the locations jobs were started at)
--help
wait
Semantics
Print job status after waiting (if interactive and monitoring)
Non-portable options
--help
Variables and functions
array
Implement array built-in
export
Disable non-portable syntax in POSIX mode / Allow non-portable extensions in non-POSIX mode
Non-portable options
--help
Legacy options (-r and -X)
getopts
Semantics
Allow parsing non-alphanumeric options
Non-portable options
--help
local
Redirect local to typeset
read
Non-portable options
Long options
-A, --array
-e, --line-editing
-P, --ps1
-p ..., --prompt=...
--help
readonly
Disable non-portable syntax in POSIX mode / Allow non-portable extensions in non-POSIX mode
This issue tracks the implementation of non-portable extensions for built-in utilities.
Portable features are tracked in #7.
In the list below, built-ins are grouped by their dependent environments.
However, most built-ins additionally depend on the standard output and error file descriptors and variables.
Execution control
.
-A
,--no-alias
-L
,--autoload
--help
break
-i
,--iteration
--help
continue
-i
,--iteration
--help
eval
-i
,--iteration
--help
exec
-a ...
,--as=...
-c
,--clear
--cloexec
-f
,--force
--help
exit
-f
,--force
--help
newgrp
return
-n
,--no-return
--help
Printing
echo
help
printf
Working directory
cd
-
operand used together with-L
or-P
option$YASH_AFTER_CD
--default-directory=...
--help
dirs
popd
pushd
pwd
--help
File creation mask
umask
--help
Limits
ulimit
-f
)--help
Spent times
times
--help
Signals
kill
SIG
-s
option-l
option-l
option-n
-v
-v
--help
suspend
trap
SIG
-p
,--print
--help
Jobs
bg
%
prefix--help
disown
fg
%
prefix--help
jobs
%
prefix-n
,--new
-r
,--running-only
-s
,--stopped-only
-t
,--terminated-only
--help
wait
--help
Variables and functions
array
export
--help
-r
and-X
)getopts
--help
local
local
totypeset
read
-A
,--array
-e
,--line-editing
-P
,--ps1
-p ...
,--prompt=...
--help
readonly
--help
-x
and-X
)shift
-A ...
,--array=...
--help
typeset
typeset
built-in #316unset
unset
used without any operands-l
,--local
--help
Aliases
alias
-g
,--global
-p
,--prefix
-v
,--verbose
(show locations where aliases were defined)--help
unalias
--help
Command path cache
hash
-a
,--all
-d
,--directory
--help
Built-ins
builtin
,disable
(TBD)Command history
fc
-q
,--quiet
-v
,--verbose
--help
history
Line-editing
bindkey
complete
Miscellaneous
[
,test
-G
-k
-N
-O
-nt
,-ot
-ef
==
===
,!==
,<
,<=
,>
,>=
)=~
-veq
,-vne
,-vgt
,-vge
,-vlt
,-vle
)-o
(unary)command
,type
-v
and-V
used together-v
and-V
type -f
)-a
,--alias
-b
,--builtin-command
-e
,--external-command
-f
,--function
-k
,--keyword
--help
set
no
prefix--help
The text was updated successfully, but these errors were encountered: