80 lines
1.8 KiB
YAML
80 lines
1.8 KiB
YAML
name: "Options: nullglob"
|
|||
|
|
cases:
|
||
|
|
- name: "nullglob removes unmatched glob"
|
||
|
|
stdin: |
|
||
|
|
shopt -s nullglob
|
||
|
|
echo "result:" non-existent-*.txt
|
||
|
|
|
||
|
|
- name: "nullglob does not affect matching glob"
|
||
|
|
stdin: |
|
||
|
|
touch realfile.txt
|
||
|
|
shopt -s nullglob
|
||
|
|
echo real*.txt
|
||
|
|
|
||
|
|
- name: "nullglob does not affect quoted glob chars"
|
||
|
|
stdin: |
|
||
|
|
shopt -s nullglob
|
||
|
|
echo 'non-existent-*.txt'
|
||
|
|
|
||
|
|
- name: "nullglob does not affect literal text without glob chars"
|
||
|
|
stdin: |
|
||
|
|
shopt -s nullglob
|
||
|
|
echo hello world
|
||
|
|
|
||
|
|
- name: "nullglob with multiple unmatched patterns"
|
||
|
|
stdin: |
|
||
|
|
shopt -s nullglob
|
||
|
|
echo "result:" *.zzz *.yyy *.xxx
|
||
|
|
|
||
|
|
- name: "nullglob with mix of matched and unmatched"
|
||
|
|
stdin: |
|
||
|
|
touch realfile.txt
|
||
|
|
shopt -s nullglob
|
||
|
|
echo real*.txt *.zzz
|
||
|
|
|
||
|
|
- name: "nullglob with question mark glob"
|
||
|
|
stdin: |
|
||
|
|
shopt -s nullglob
|
||
|
|
echo "result:" ?.nonexistent
|
||
|
|
|
||
|
|
- name: "nullglob with bracket glob"
|
||
|
|
stdin: |
|
||
|
|
shopt -s nullglob
|
||
|
|
echo "result:" [abc].nonexistent
|
||
|
|
|
||
|
|
- name: "nullglob disabled by default"
|
||
|
|
stdin: |
|
||
|
|
echo *.nonexistent
|
||
|
|
|
||
|
|
- name: "nullglob can be toggled"
|
||
|
|
stdin: |
|
||
|
|
shopt -s nullglob
|
||
|
|
echo "on:" *.nonexistent
|
||
|
|
shopt -u nullglob
|
||
|
|
echo "off:" *.nonexistent
|
||
|
|
|
||
|
|
- name: "nullglob in subshell"
|
||
|
|
stdin: |
|
||
|
|
shopt -s nullglob
|
||
|
|
(echo "inner:" *.nonexistent)
|
||
|
|
echo "outer:" *.nonexistent
|
||
|
|
|
||
|
|
- name: "nullglob with for loop"
|
||
|
|
stdin: |
|
||
|
|
shopt -s nullglob
|
||
|
|
for f in *.nonexistent; do
|
||
|
|
echo "unexpected: $f"
|
||
|
|
done
|
||
|
|
echo "done"
|
||
|
|
|
||
|
|
- name: "nullglob with array assignment"
|
||
|
|
stdin: |
|
||
|
|
shopt -s nullglob
|
||
|
|
arr=(*.nonexistent)
|
||
|
|
echo "count: ${#arr[@]}"
|
||
|
|
|
||
|
|
- name: "nullglob with directory glob"
|
||
|
|
stdin: |
|
||
|
|
shopt -s nullglob
|
||
|
|
echo "result:" nonexistent_dir/*/
|