Разделение “дополнительных пространств” в du-sk для сценария удара?

Любой Вы не перезапустили свою сессию для создания нового PATH активный (или делают source ~/.bashrc) или svnserve не был отмечен как исполняемый файл (chmod +x $HOME/bin/svnserve) или полномочия являются неправильными.

Что эти команды говорят Вам?

echo $PATH    # Does this include $HOME/bin?
ls -l $HOME/bin/svnserve    # Is it present? What are the permissions and ownership?
1
задан 10 May 2012 в 00:31
4 ответа

Вы хотите использовать awk .

dirsize=`du -sk /folder/path/here | awk '{print $1}'`
2
ответ дан 3 December 2019 в 19:12

Обычно это вкладка. (в большинстве систем posix есть hexdump или более краткое имя xxd, которое покажет вам напечатанные символы). Более эффективное решение, чем awk, - «вырезать»:

 dirsize=`du -sk /folder/path/here | cut -f1`
1
ответ дан 3 December 2019 в 19:12

du выводит символ TAB (ASCII 9) в качестве разделителя. В этом можно убедиться, направив вывод в xxd или od -cx . Следовательно, вам потребуется dirsize = $ {dirsize_temp / TAB * /} . Вы можете ввести буквальный символ TAB в приглашении bash или в ViM, нажав Ctrl-V , затем TAB .

0
ответ дан 3 December 2019 в 19:12

+1 за демонстрацию синтаксиса подстановки регулярных выражений, каждый день вы узнаете что-то новое! Не возражайте, если бы я исследовал это из-за этого, а теперь исправлю его с помощью $ {var // + ([[: space:]]) /} ...

0
ответ дан 3 December 2019 в 19:12

Теги

Похожие вопросы