2014-07-14 13:36:26 +08:00
|
|
|
#
|
|
|
|
# Test read builtin and IFS
|
|
|
|
#
|
|
|
|
|
|
|
|
count (echo one\ntwo)
|
|
|
|
set -l IFS \t
|
|
|
|
count (echo one\ntwo)
|
|
|
|
set -l IFS
|
|
|
|
count (echo one\ntwo)
|
2014-08-29 09:27:23 +08:00
|
|
|
echo [(echo -n one\ntwo)]
|
|
|
|
count (echo one\ntwo\n)
|
|
|
|
echo [(echo -n one\ntwo\n)]
|
|
|
|
count (echo one\ntwo\n\n)
|
|
|
|
echo [(echo -n one\ntwo\n\n)]
|
2014-07-14 13:36:26 +08:00
|
|
|
set -le IFS
|
|
|
|
|
|
|
|
function print_vars --no-scope-shadowing
|
|
|
|
set -l space
|
|
|
|
set -l IFS \n # ensure our command substitution works right
|
|
|
|
for var in $argv
|
|
|
|
echo -n $space (count $$var) \'$$var\'
|
|
|
|
set space ''
|
|
|
|
end
|
|
|
|
echo
|
|
|
|
end
|
|
|
|
|
|
|
|
echo
|
|
|
|
echo 'hello there' | read -l one two
|
|
|
|
print_vars one two
|
|
|
|
echo 'hello there' | read -l one
|
|
|
|
print_vars one
|
|
|
|
echo '' | read -l one
|
|
|
|
print_vars one
|
|
|
|
echo '' | read -l one two
|
|
|
|
print_vars one two
|
|
|
|
echo 'test' | read -l one two three
|
|
|
|
print_vars one two three
|
|
|
|
|
|
|
|
echo
|
|
|
|
set -l IFS
|
|
|
|
echo 'hello' | read -l one
|
|
|
|
print_vars one
|
|
|
|
echo 'hello' | read -l one two
|
|
|
|
print_vars one two
|
|
|
|
echo 'hello' | read -l one two three
|
|
|
|
print_vars one two three
|
|
|
|
echo '' | read -l one
|
|
|
|
print_vars one
|
|
|
|
echo 't' | read -l one two
|
|
|
|
print_vars one two
|
|
|
|
echo 't' | read -l one two three
|
|
|
|
print_vars one two three
|
|
|
|
echo ' t' | read -l one two
|
|
|
|
print_vars one two
|
|
|
|
set -le IFS
|
|
|
|
|
|
|
|
echo
|
|
|
|
echo 'hello there' | read -la ary
|
|
|
|
print_vars ary
|
|
|
|
echo 'hello' | read -la ary
|
|
|
|
print_vars ary
|
|
|
|
echo 'this is a bunch of words' | read -la ary
|
|
|
|
print_vars ary
|
|
|
|
echo ' one two three' | read -la ary
|
|
|
|
print_vars ary
|
|
|
|
echo '' | read -la ary
|
|
|
|
print_vars ary
|
|
|
|
|
|
|
|
echo
|
|
|
|
set -l IFS
|
|
|
|
echo 'hello' | read -la ary
|
|
|
|
print_vars ary
|
|
|
|
echo 'h' | read -la ary
|
|
|
|
print_vars ary
|
|
|
|
echo '' | read -la ary
|
|
|
|
print_vars ary
|
|
|
|
set -le IFS
|
2014-08-19 20:28:08 +08:00
|
|
|
|
|
|
|
# read -n tests
|
|
|
|
|
|
|
|
echo
|
|
|
|
echo '# read -n tests'
|
|
|
|
echo 'testing' | read -n 3 foo
|
|
|
|
echo $foo
|
|
|
|
echo 'test' | read -n 10 foo
|
|
|
|
echo $foo
|
|
|
|
echo 'test' | read -n 0 foo
|
|
|
|
echo $foo
|
|
|
|
echo 'testing' | begin; read -n 3 foo; read -n 3 bar; end
|
|
|
|
echo $foo
|
|
|
|
echo $bar
|
|
|
|
echo 'test' | read -n 1 foo
|
|
|
|
echo $foo
|