Вам необходимо изменить свои команды на следующую форму:
directories=$(printf "%'d\n" $(find "$1" -type f | wc -l))
printf
использует разделитель тысяч для вашей текущей локали, который может быть запятой, точкой или вообще ничего. Вы можете изменить язык, если хотите использовать запятые.
Также можно сделать так:
if [ -d "$1" ]; then
directories=$(find "$1" -type d | wc -l)
files=$(find "$1" -type f | wc -l)
sym=$(find "$1" -type l | wc -l)
и заменить echo
на printf
#Printing the output to the terminal
printf "%s %'d\n" "Directories" $directories
printf "%s %'d\n" "Files" $files
printf "%s %'d\n" "Sym links" $sym
Произошла ошибка, потому что вы перепутали две разные команды - bash'овскую printf
и find -printf
.
Для находки -printf
формат "%'d"
неверен. Исключительные кавычки не допускаются, а %d
— это глубина файла в дереве каталогов. Вы можете найти все параметры -printf
в man find
, набрав: /printf format
.
Кстати, нужно было добавить \n
к обоим printf
(bash и find): "%d\n"
, иначе они будут вывести весь вывод в одну строку.
ifconfig enp0s25 up
(это включает ваш сетевой интерфейс/донгл)
dhcpcd
(это запускает клиент dhcp в для получения IP-адреса)
Например, вы можете использовать netctl для автоматического подключения. Что вам нужно сделать:
Создайте профиль в /etc/netctl/my_dhcp_profile
или назовите его как вам угодно; вы также можете создать несколько. Например:
Интерфейс=enp0s25
Соединение = Ethernet
IP=DHCP
или (статический IP):
Интерфейс=enp0s25
Соединение = Ethernet
IP=статический
Адрес=('10.1.10.2/24')
Шлюз=('10.1.10.1')
DNS=('10.1.10.1')
Включить профиль:
netctl enable my_dhcp_profile
netctl запустить my_dhcp_profile
После этого он будет автоматически активирован, когда будет доступен, и не потребует дальнейшего взаимодействия.
start
в основном требуется для того, чтобы запустить его сейчас, а не после перезагрузки. Вы также можете использовать стоп
, чтобы деактивировать его вручную.