You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: manuscript/BashScripting/tools.md
+5-4
Original file line number
Diff line number
Diff line change
@@ -49,7 +49,7 @@ There are three ways to run an application in Bash:
49
49
2. By the absolute path.
50
50
3. By the relative path.
51
51
52
-
The first approach is the most convenient. However, you need to add the installation path of the application to the `PATH` variable. Then Bash can find the program's executable when you call it.
52
+
The first approach is the most convenient. You need to add the installation path of the application to the `PATH` variable. Then Bash can find the program's executable when you call it.
53
53
54
54
Let's consider how to run the Notepad++ editor by the executable name. The program has the following installation path by default:
55
55
{line-numbers: false}
@@ -175,7 +175,9 @@ If the `test.txt` file does not exist, Notepad++ shows you the dialog to create
175
175
176
176
Suppose that you run a GUI application in the terminal window. Then you cannot use this window for typing the Bash commands. The GUI program controls it and prints the diagnostic messages there. The terminal window becomes available again when the application finishes.
177
177
178
-
You can run the GUI application in the **background mode**. Then the terminal window stays available, and you can use it normally. Add the ampersand & at the end of a Bash command to launch it in the background mode. Here is an example:
178
+
You can run the GUI application in the **background mode**. Then the terminal window stays available, and you can use it normally.
179
+
180
+
Add the ampersand & at the end of a Bash command to launch it in the background mode. Here is an example:
179
181
{line-numbers: false, format: Bash}
180
182
```
181
183
notepad++ test.txt &
@@ -231,5 +233,4 @@ You can call Notepad++ and detach it from the terminal in a single command. In t
There is one problem with inserting several elements of an associative array. Their order in memory does not match their initialization order. The [**hash function**](https://en.wikipedia.org/wiki/Hash_function) calculates a numerical index in the memory of each element. The function takes a string-key on input and returns a unique integer on output. Because of this feature, inserting several elements of the associative array is a bad practice.
Copy file name to clipboardExpand all lines: manuscript/finalwords.md
+10-6
Original file line number
Diff line number
Diff line change
@@ -2,16 +2,18 @@
2
2
3
3
Here we finish our introduction to Bash. We have covered the language basics only. This book skips several important Bash topics. You will need them if you plan to use Bash for professional software development.
4
4
5
-
Here is the list of advanced topics that you need for further development of your Bash skills:
5
+
Here are the topics that would be a good start for advanced learning of Bash:
*[The `awk` text processing language](https://tldp.org/LDP/abs/html/awk.html).
14
14
15
+
I> GNU utilities `sed` and `awk` are not part of Bash. However, they give you advanced features for processing strings.
16
+
15
17
These topics are material for advanced study. You can skip them if you are using Bash for simple tasks and basic automation only.
16
18
17
19
Perhaps you liked writing programs. Now you want to know more about this topic. What is the next step after reading this book?
@@ -28,7 +30,9 @@ The second option is the new language has many domain-specific features that are
28
30
29
31
There is one important conclusion of the typical language development process. All modern general-purpose languages have strong advantages in a few domains only. No language fits any tasks perfectly. It means that the domain dictates you the language to use.
30
32
31
-
Let's come back to our question regarding your next step. You have read this book. Now it is time to choose the applied domain that is interested to you. How can you do it? You already know something about software from your user experience. Read articles on the Internet about the programs that you use every day. Think about them this way: do you want to develop similar programs? It can happen that your user experience will help you to find the right applied domain.
33
+
Let's come back to our question regarding your next step for learning programming. You have read this book. Now it is time to choose the applied domain that is interested to you. How can you do it?
34
+
35
+
You already know something about software from your user experience. Read articles on the Internet about the programs that you use every day. Think about them this way: do you want to develop similar programs? It can happen that your user experience will help you to find the right applied domain.
32
36
33
37
Suppose that you find the applied domain that you want to learn. The next step is choosing the appropriate programming language that fits this domain well.
34
38
@@ -41,7 +45,7 @@ Table 5-1 will help you to find the right programming language for your applied
@@ -65,7 +69,7 @@ I hope that you learned something new from this book and had an enjoyable time w
65
69
66
70
If you have any questions or comments about this book, please write to me here: [[email protected]](mailto:[email protected]). Also, you can ask questions in the "Issues" section of the [GitHub repository of the book](https://github.com/ellysh/bash-programming-from-scratch/issues).
67
71
68
-
Thank you for reading "Bash programming from scratch"!
72
+
Thank you for reading ["Bash programming from scratch"](https://leanpub.com/bash-programming-from-scratch/)!
69
73
70
74
# Acknowledgements
71
75
@@ -77,4 +81,4 @@ Thanks to Vitaly Lipatov for introducing me to Linux and Bash. He taught me prog
77
81
78
82
Thanks to Ruslan Piasetskyi for consulting on some Bash topics. He explained to me the idioms and pitfalls of the language.
79
83
80
-
Thanks also to everyone who supported me and motivated me to finish this work.
84
+
Thanks also to everyone who supported me and motivated me to finish this work.
Copy file name to clipboardExpand all lines: manuscript/package-manager.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,7 @@ Each Unix environment provides a special program for accessing the repository. I
20
20
21
21
Why does the Unix environment need a package manager? Windows does not have such a program. Users of this OS download all software from the Internet and install it manually.
22
22
23
-
I>There are several third-party package managers for Windows. The most popular one is [Chocolatey](https://chocolatey.org). Microsoft plans to develop the [official package manager](https://devblogs.microsoft.com/commandline/windows-package-manager-1-0) in the nearest future.
23
+
I>There are several third-party package managers for Windows. The most popular one is [Chocolatey](https://chocolatey.org). Microsoft plans to develop the [official package manager](https://devblogs.microsoft.com/commandline/windows-package-manager-1-0) in the nearest future.
24
24
25
25
The package manager installs and removes packages from the Unix environment. Its main task is to keep track of **package dependencies**. Suppose that some program from one package uses features of the library from another package. Then the first package depends on the second one. It means that you should install the second package whenever you install the first one.
0 commit comments