line=\ ; PS4='${#line}: + '
while read line <&$((${#line}?0:3))
do : "$line"
done <<msg 3</dev/null
one nice thing about allowing shell expansions to self test
is that the shell already has mechanisms in place for the
evaluation. its doing it all the time anyway. theres almost
nothing for you to do but to let it fall into place.
For example:
${line##*[ :: i doubt very seriously the shell will read any of this :: ]*}
msg
1: + read line
59: + : 'one nice thing about allowing shell expansions to self test'
59: + read line
58: + : 'is that the shell already has mechanisms in place for the'
58: + read line
59: + : 'evaluation. its doing it all the time anyway. theres almost'
59: + read line
52: + : 'nothing for you to do but to let it fall into place.'
52: + read line
12: + : 'For example:'
12: + read line
0: + : ''
0: + read line
В качестве альтернативы, для немедленного перерыва при чтении пустой строки...
while read line && ${line:+":"} break
do : stuff
done
... будет хорошо работать.
-121--84445-Эту команду можно использовать для копирования файла с одного сервера на другой:
scp source_user@source_remote_host:/usr/bin/mysql_backup.sh \
target_user@target_remote_host:/var/tmp/
-121--13239- Awk имеет функцию match
, которая выполняет то, что звучит как то, что вы хотите
awk '{ print match($0, /[0-9][0-0]rest_of_your_pattern/) }' your_file
Если совпадение не найдено, то соответствует возвратам 0
(и напечатано).
У каждого пользователя есть собственный файл конфигурации .bashrc
и .profile
в Debian.
Таким образом, вы можете ввести свою персонализированную подсказку также в /home/sparrow/.bashrc
.
Кроме того, вы можете переместить свои изменения из /root/.bashrc
в /etc/bash.bashrc
, что будет работать как для пользователей root
, так и дляsparrow
(фактически для всех пользователей вашей системы ).