Test | Description |
---|---|
-e | file exists |
-f | file is a regular file (not a directory or device file) |
-s | file is not zero size |
-d | file is a directory |
-b | file is a block device |
-c | file is a character device |
-p | file is a pipe |
-L | file is a symbolic link |
-S | file is a socket |
-t | file (descriptor) is associated with a terminal device (stdin, stdout,...) |
-r | file has read permission (for the user running the test) |
-w | file has write permission (for the user running the test) |
-x | file has execute permission (for the user running the test) |
-g | set-group-id (sgid) flag set on file or directory |
-u | set-user-id (suid) flag set on file |
-k | sticky bit set |
-O | you are owner of file |
-G | group-id of file same as yours |
-N | file modified since it was last read |
f1 -nt f2 | file f1 is newer than f2 |
f1 -ot f2 | file f1 is older than f2 |
f1 -ef f2 | files f1 and f2 are hard links to the same file |
! | "not" -- reverses the sense of the tests above (returns true if condition absent) |
Last active
June 29, 2018 17:13
-
-
Save n1chre/a65271dd6964d7cd4e68517cdbb3cb18 to your computer and use it in GitHub Desktop.
Bash stuff: parameter substitution, expansion and manipulation operators; file test operators
Command | Description |
---|---|
${parameter:-defaultValue} | Get default shell variables value |
${parameter:=defaultValue} | Set default shell variables value |
${parameter:?"Error Message"} | Display an error message if parameter is not set |
${#var} | Find the length of the string |
${var:offset:length} | Substring |
${var%pattern} | Remove from shortest rear (end) pattern |
${var%%pattern} | Remove from longest rear (end) pattern |
${var#pattern} | Remove from shortest front pattern |
${var##pattern} | Remove from longest front pattern |
${var/pattern/string} | Find and replace (only replace first occurrence) |
${var//pattern/string} | Find and replace all occurrences |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment