Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Polecenie
df -h | tail -n +2 | awk '{print $5 " " $6}' 81% / 0% /sys/fs/cgroup 1% /dev 1% /run 0% /run/lock 1% /run/shm 1% /run/user 81% /home/bonus
Natomiast skrypcik
#!/bin/bash for uz_mont in `df -h| tail -n +2 | awk '{print $5 " " $6}'` do echo ${uz_mont} done
wstawia pomiędzy argumentami nowy wiersz
81% / 0% /sys/fs/cgroup 1% /dev 1% /run 0% /run/lock 1% /run/shm 1% /run/user 81% /home/bonus
niech ktoś mnie oświeci ;)
Ostatnio edytowany przez bonus (2015-12-03 22:08:14)
Offline
[quote=man echo]NAZWA
echo - wyświetla wiersz tekstu
SKŁADNIA
echo [KRÓTKA-OPCJA]... [NAPIS]...
echo DŁUGA-OPCJA
OPIS
Wyświetla NAPIS(Y) na standardowe wyjście.
[b]-n nie wypisuje kończącego znaku nowego wiersza[/b]
-e włącza interpretowania sekwencji specjalnych z ukośnikiem
-E wyłącza interpretowanie sekwencji specjalnych z ukośnikiem (domyślnie)
--help wyświetla ten tekst i kończy pracę
--version
wyświetla informacje o wersji i kończy działanie
Jeśli użyto opcji -e, to rozpoznawane są następujące sekwencje specjalne:
\\ odwrotny ukośnik
\a dzwonek, alarm (BEL)
\b backspace
\c kończy wypisywanie wyniku
\e escape
\f wysuw strony
\n znak nowego wiersza
\r powrót karetki
\t tabulacja pozioma
\v tabulacja pionowa
\0NNN bajt o wartości ósemkowej NNN (1 do 3 cyfr)
\xHH bajt o wartości szesnastkowej HH (1 do 2 cyfr)
[b]UWAGA: aktualnie używana powłoka może posiadać swoją wersję echo, która z reguły przesłania wersję opisaną w niniejszym
podręczniku. Proszę zapoznać się z dokumentacją używanej powłoki, aby dowiedzieć się szczegółów o obsługiwanych opcjach. Aby
wywołać opisaną tu wersję, można użyć polecenia env tzn. env echo ....[/b]
Strona internetowa z pomocą GNU coreutils: <http://www.gnu.org/software/coreutils/> Zgłoszenia błędów w tłumaczeniu echo
proszę wysyłać na adres <http://translationproject.org/team/pl.html>[/quote]
Ostatnio edytowany przez Pavlo950 (2015-12-03 21:07:25)
Offline
bo pętla wszystko co po spacji traktuje jako ${uz_mont}+1
wynik jaki chcesz mozna uzyskac na kilka sposobów ale ten chyba najszybszy
for uz_mont in `df -h| tail -n +2 | awk '{print $5 ":" $6}'`; do echo ${uz_mont}|tr ':' ' '; done
Ostatnio edytowany przez Pakos (2015-12-03 21:38:26)
Offline
problemem nie jest echo, a `df -h| tail -n +2 | awk '{print $5 " " $6}'` w lini for .....
jeśli wywołasz taką komendę w konsoli, to prawidłowo masz każdy wiersz w osobnej linii, natomiast wywołane w skrypcie np jako podstawienie do zmiennej zapisuje wszystko jako w jednej linii.
W takim wypadku powinieneś najpierw przekierować wyjście tego polecenia do pliku, a następnie wykonywać pętle z tego pliku.
Ale z tym takie użycie pętli for rozdzieli ponieważ, użycie spacji aby je rozdzielić dla pętli for jest błędna, gdyż on wszystkie je traktuje jako osobną wartość (jako delimiter znak spacji) :)
Jeśli nie chcesz zapisywać tego do pliku zrób np:
for uz_mont in `df -h| tail -n +2 | awk '{print $5 "|" $6}'` do echo ${uz_mont} | tr '|' ' ' done
lub jeszcze prościej:
printf '%s\n' "`df -h| tail -n +2 | awk '{print $5 " " $6}'`"
Ostatnio edytowany przez meciarz (2015-12-03 22:05:21)
Offline
Strony: 1
Time (s) | Query |
---|---|
0.00010 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00092 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.145.10.68' WHERE u.id=1 |
0.00093 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.145.10.68', 1732424024) |
0.00045 | SELECT * FROM punbb_online WHERE logged<1732423724 |
0.00058 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=27961 AND t.moved_to IS NULL |
0.00006 | SELECT search_for, replace_with FROM punbb_censoring |
0.00196 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=27961 ORDER BY p.id LIMIT 0,25 |
0.00104 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=27961 |
Total query time: 0.00608 s |