Welcome to the Linux Foundation Forum!
Deciphering lines of code
Coyote1967
Posts: 1
Hey everyone I don't know if this is the right place to ask this question but I am trying to learn what different lines of code do and I need some help. I am looking at the Save command specifically. It was written to save files and back then up to a directory for later backup usage. The problem that I am having is in the first part of the code. For instance on this line
if [! -d $1];then echo $1 is not a directory; exit 1; fi
I know the fi means that the line is finished and the echo is a command to run the $1 file but what is the first part? Any help will be appreciated. Thanks
0
Comments
-
Well fi actually marks the end of the if statement (it's just "if" backwards). The [! -d $1] is performing a test on a passed value, which is being referred to by $1 (the 1st parameter). -d tests to see whether it is a directory. The ! negates the statement to make it check whether it is not a directory.
In English, it's saying "If the parameter passed is not a directory, then say '[value of parameter passed] is not a directory."
Here are more options you can use (although probably not a complete list):-e file -s non-empty file -b block device -c character device -f a non-directory and non-device file -p pipe -h symbolic link -r file has read permission -w file has write permission -x file has execute permission -k has sticky bit set -O you are the file owner -G same group as you -N modified since last read
0 -
Oh, I should have clarified the square brackets. Those just indicate that a test is being performed inside them, and it will return 0 (true) or 1 (false) to the if clause.0
Categories
- All Categories
- 171 LFX Mentorship
- 171 LFX Mentorship: Linux Kernel
- 739 Linux Foundation IT Professional Programs
- 370 Cloud Engineer IT Professional Program
- 166 Advanced Cloud Engineer IT Professional Program
- 71 DevOps IT Professional Program - Discontinued
- 3 DevOps & GitOps IT Professional Program
- 98 Cloud Native Developer IT Professional Program
- 35 Express Training Courses & Microlearning
- 32 Express Courses - Discussion Forum
- 3 Microlearning - Discussion Forum
- 7.5K Training Courses
- 25 LFC110 Class Forum - Discontinued
- 15 LFC131 Class Forum - DISCONTINUED
- 55 LFD102 Class Forum
- 260 LFD103 Class Forum
- 2 LFD103-JP クラス フォーラム
- 19 LFD110 Class Forum
- 1 LFD114 Class Forum
- 55 LFD121 Class Forum
- 4 LFD123 Class Forum
- 3 LFD125 Class Forum
- 4 LFD133 Class Forum
- 5 LFD134 Class Forum
- 5 LFD137 Class Forum
- 2 LFD140 Class Forum
- 67 LFD201 Class Forum
- 8 LFD210 Class Forum
- 4 LFD210-CN Class Forum
- 1 LFD213 Class Forum - Discontinued
- 2 LFD221 Class Forum
- 127 LFD232 Class Forum - Discontinued
- 2 LFD233 Class Forum - Discontinued
- 5 LFD237 Class Forum
- 25 LFD254 Class Forum
- 760 LFD259 Class Forum
- 110 LFD272 Class Forum - Discontinued
- 2 LFD272-JP クラス フォーラム - Discontinued
- 23 LFD273 Class Forum
- 674 LFS101 Class Forum
- 4 LFS111 Class Forum - Discontinued
- 2 LFS112 Class Forum - Discontinued
- 2 LFS114 Class Forum
- 5 LFS116 Class Forum
- 6 LFS118 Class Forum
- 3 LFS120 Class Forum
- 2 LFS140 Class Forum
- 12 LFS142 Class Forum
- 10 LFS144 Class Forum
- 6 LFS145 Class Forum
- 8 LFS146 Class Forum
- 8 LFS147 Class Forum
- 27 LFS148 Class Forum
- 22 LFS151 Class Forum - Discontinued
- 5 LFS157 Class Forum
- 172 LFS158 Class Forum
- 2 LFS158-JP クラス フォーラム
- 19 LFS162 Class Forum
- 1 LFS166 Class Forum - Discontinued
- 9 LFS167 Class Forum - Discontinued
- 4 LFS170 Class Forum - Discontinued
- 1 LFS171 Class Forum - Discontinued
- 3 LFS178 Class Forum - Discontinued
- 4 LFS180 Class Forum
- 3 LFS182 Class Forum
- 8 LFS183 Class Forum
- 3 LFS184 Class Forum
- 43 LFS200 Class Forum
- 736 LFS201 Class Forum - Discontinued
- 2 LFS201-JP クラス フォーラム - Discontinued
- 24 LFS203 Class Forum
- 160 LFS207 Class Forum
- 3 LFS207-DE-Klassenforum
- 4 LFS207-JP クラス フォーラム
- 301 LFS211 Class Forum - Discontinued
- 55 LFS216 Class Forum - Discontinued
- 61 LFS241 Class Forum
- 52 LFS242 Class Forum
- 42 LFS243 Class Forum
- 19 LFS244 Class Forum
- 9 LFS245 Class Forum
- 3 LFS246 Class Forum
- 2 LFS248 Class Forum
- 179 LFS250 Class Forum
- 4 LFS250-JP クラス フォーラム
- 2 LFS251 Class Forum - Discontinued
- 166 LFS253 Class Forum
- 1 LFS254 Class Forum - Discontinued
- 5 LFS255 Class Forum
- 19 LFS256 Class Forum
- 3 LFS257 Class Forum
- 1.4K LFS258 Class Forum
- 13 LFS258-JP クラス フォーラム
- 151 LFS260 Class Forum
- 165 LFS261 Class Forum
- 46 LFS262 Class Forum
- 82 LFS263 Class Forum - Discontinued
- 15 LFS264 Class Forum - Discontinued
- 11 LFS266 Class Forum - Discontinued
- 26 LFS267 Class Forum
- 28 LFS268 Class Forum
- 39 LFS269 Class Forum
- 13 LFS270 Class Forum
- 202 LFS272 Class Forum - Discontinued
- 2 LFS272-JP クラス フォーラム - Discontinued
- 1 LFS274 Class Forum - Discontinued
- 4 LFS281 Class Forum - Discontinued
- 34 LFW111 Class Forum
- 265 LFW211 Class Forum - Discontinued
- 190 LFW212 Class Forum - Discontinued
- 20 SKF100 Class Forum
- 3 SKF200 Class Forum
- 4 SKF201 Class Forum
- 790 Hardware
- 202 Drivers
- 68 I/O Devices
- 37 Monitors
- 95 Multimedia
- 173 Networking
- 90 Printers & Scanners
- 86 Storage
- 765 Linux Distributions
- 81 Debian
- 67 Fedora
- 20 Linux Mint
- 13 Mageia
- 24 openSUSE
- 150 Red Hat Enterprise
- 31 Slackware
- 13 SUSE Enterprise
- 355 Ubuntu
- 464 Linux System Administration
- 31 Cloud Computing
- 73 Command Line/Scripting
- Github systems admin projects
- 97 Linux Security
- 78 Network Management
- 101 System Management
- 46 Web Management
- 82 Mobile Computing
- 18 Android
- 50 Development
- 1.2K New to Linux
- 1K Getting Started with Linux
- 384 Off Topic
- 118 Introductions
- 176 Small Talk
- 29 Study Material
- 808 Programming and Development
- 310 Kernel Development
- 480 Software Development
- 916 Software
- 309 Applications
- 182 Command Line
- 5 Compiling/Installing
- 68 Games
- 316 Installation
- 67 All In Program
- 67 All In Forum
Upcoming Training
-
August 20, 2018
Kubernetes Administration (LFS458)
-
August 20, 2018
Linux System Administration (LFS301)
-
August 27, 2018
Open Source Virtualization (LFS462)
-
August 27, 2018
Linux Kernel Debugging and Security (LFD440)