mirror of https://github.com/01-edu/public.git
feat(easy-perms): add subject, test and solution for the exercise
This commit is contained in:
parent
526f60501c
commit
88eee63db2
|
@ -0,0 +1,12 @@
|
|||
Q. How did the programmer die in the shower?
|
||||
A. He read the shampoo bottle instructions: Lather. Rinse. Repeat.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
How many programmers does it take to change a light bulb?
|
||||
None – It’s a hardware problem
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Why do programmers always mix up Halloween and Christmas?
|
||||
Because Oct 31 equals Dec 25.
|
|
@ -0,0 +1,16 @@
|
|||
“The best TDD can do, is assure that code does what the programmer thinks it should do. That is pretty good BTW.”
|
||||
|
||||
“Simply put, things always had to be in a production-ready state: if you wrote it, you darn well had to be there to get it running!”
|
||||
|
||||
“If you think it’s expensive to hire a professional, wait until you hire an amateur.”
|
||||
|
||||
“Programming is not a zero-sum game. Teaching something to a fellow programmer doesn’t take it away from you.”
|
||||
|
||||
“A phased approach to continuous delivery is not only preferable, it’s infinitely more manageable.”
|
||||
|
||||
“So, what do you do?”
|
||||
“I’m lean”
|
||||
“What?”
|
||||
“I’m agile”
|
||||
“What?”
|
||||
“Fine. I make websites.”
|
|
@ -0,0 +1,16 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Unofficial Bash Strict Mode
|
||||
set -euo pipefail
|
||||
IFS='
|
||||
'
|
||||
script_dirS=$(cd -P "$(dirname "$BASH_SOURCE")" &>/dev/null && pwd)
|
||||
|
||||
challenge() {
|
||||
submitted=$(ls -l "$1" && bash "$script_dirS"/student/easy-perm.sh)
|
||||
expected=$(ls -l "$1" && bash "$script_dirS"/solutions/easy-perm.sh)
|
||||
|
||||
diff <(echo "$submitted") <(echo "$expected")
|
||||
}
|
||||
|
||||
challenge easy-perm/
|
|
@ -0,0 +1 @@
|
|||
chmod 644 easy-perm/example.txt && chmod 746 easy-perm/example2.txt
|
|
@ -0,0 +1,46 @@
|
|||
## easy-perm
|
||||
|
||||
### Instructions
|
||||
|
||||
Create a file `easy-perm.sh`, which will change the default permissions for the `example.txt` and `example2.txt` files inside the folder `easy-perms`, to the ones bellow:
|
||||
|
||||
Now
|
||||
|
||||
Expected Output:
|
||||
|
||||
```console
|
||||
$ ls -l easy-perm
|
||||
total 8
|
||||
-rwxr--rw- 1 user user 689 dez 13 16:14 example2.txt
|
||||
-rw-r--r-- 1 user user 348 dez 13 16:14 example.txt
|
||||
$
|
||||
```
|
||||
|
||||
### Hints
|
||||
|
||||
-`chmod` The chmod, or change mode, command allows an administrator to set or modify a file’s permissions. Every UNIX/Linux file has an owner user and an owner group attached to it, and every file has permissions associated with it. The permissions are as follows: read, write, or execute.
|
||||
|
||||
This is what the default permissions looks like when you create a file.
|
||||
|
||||
```console
|
||||
$ touch example.txt
|
||||
$ ls -l example.txt
|
||||
-rw-rw-r-- 1 user user 348 dez 13 15:31 example.txt
|
||||
$
|
||||
```
|
||||
|
||||
This is what it looks like if you want to give permissions to read, write and execute to every group.
|
||||
|
||||
```console
|
||||
$ chmod 777 example.txt
|
||||
$ ls -l example.txt
|
||||
-rwxrwxrwx 1 user user 348 dez 13 15:31 example.txt
|
||||
$
|
||||
```
|
||||
|
||||
> You have to use Man or Google to know more about commands flags, in order to solve this exercise!
|
||||
> Google and Man will be your friends!
|
||||
|
||||
### References
|
||||
|
||||
- [Chmod](https://www.linode.com/docs/guides/modify-file-permissions-with-chmod/#modify-file-permissions-with-chmod)
|
Loading…
Reference in New Issue