官术网_书友最值得收藏!

Using file attributes with conditional logic

Earlier in this book, we touched upon various tests for strings, numbers, and variables. Using a similar concept built into Bash, we can also use various attributes to test against files and directories. This extends upon the introduction conditional logic to perform tests on files. Does an example exist? Is it a directory? and so on.

For a moment, though, couldn't we just use the results from executing and checking the return code? Absolutely! This is another method you can use, especially if you are using a version of Bash that supports all of Bashes features. It is just another way to "skin the rabbit".

Let's start off first with some of the common flags, which return true if:

  • -e: The file exists
  • -f: This is a regular file and not a directory or device file
  • -s: The file is not empty or zero in size
  • -d: This is a directory
  • -r: This has read permissions
  • -w: This has write permissions
  • -x:This has execute permissions
  • -O: This is the owner of the file the current user
  • -G: This executes the user if they have the same group as yours
  • f1 (- nt, -ot, -eff2: Refers to if f1 is newer than f2, older than f2, or are hard-linked to the same file
There is more information available on file test operations in the GNU Bash manual:  https://www.gnu.org/software/bash/manual/html_node/Bash-Conditional-Expressions.html.
主站蜘蛛池模板: 商丘市| 从江县| 兰西县| 鄯善县| 武乡县| 侯马市| 周口市| 剑阁县| 岑巩县| 隆回县| 叙永县| 自治县| 荃湾区| 镇康县| 叙永县| 大田县| 荆门市| 长丰县| 石家庄市| 木兰县| 临澧县| 昔阳县| 思茅市| 穆棱市| 陕西省| 改则县| 宜都市| 绥化市| 凌云县| 珲春市| 麦盖提县| 拉萨市| 灌南县| 长垣县| 泰兴市| 碌曲县| 安溪县| 三门峡市| 县级市| 惠水县| 神池县|