Я пытаюсь создать новый сценарий отладочной установки из существующего.Оригинальный скрипт установки содержит много операторов с перенаправлением >/dev/null 2>&1
.Он включает в себя различные шаблоны, поэтому я нашел выражение регулярного выражения, которое соответствует всем:
>{1,2}\s{0,1}\/dev\/null 2>\&1
Я проверял это регулярное выражение здесь .
СейчасЯ хотел бы использовать этот шаблон для поиска и замены всех совпадений на пустые, чтобы в случае каких-либо ошибок выходной поток был перенаправлен на терминал, а не на устройство null
.Моя попытка:
sed 's+>{1,2}\s\/dev\/null 2>\&1++g' install.sh > install_debug.sh
(я использовал +
вместо /
в качестве разделителя, чтобы сделать строку более читабельной)
Но когда я grep выходного файла или простоПередав результат без создания файла, /dev/null
показывает, что подстановка не удалась:
sed 's/>{1,2}\s\/dev\/null 2>\&1//g' install.sh | grep "null"
elif type lsb_release >/dev/null 2>&1; then
if lsof /var/lib/dpkg/lock >> /dev/null 2>&1; then
sudo apt-get update > /dev/null 2>&1 && \
sudo DEBIAN_FRONTEND=falseninteractive apt-get install -y sshpass python-minimal python-pip dbus > /dev/null 2>&1 && \
sudo apt-get install -y jq > /dev/null 2>&1
sudo python_for_core_os > /dev/null 2>&1
Есть идеи, что я делаю не так?
Спасибо!