Tag: цитирования

Bash: Расширение истории внутри одинарных кавычек после двойной кавычки внутри одной строки

Я более подробно рассмотрел это явление после того, как я наткнулся на него еще на два вопроса. Я пробовал все это с установкой по умолчанию set -H (расширение истории). Чтобы протестировать скрипт, я часто делаю такие вещи, как echo ввода многострочной строки и протрубит ее через скрипт, но в некоторых случаях это дает ошибку: $ […]

дата не принимает свой собственный результат

Каков вариант для date для вывода в формате, приемлемом для date –set ? Я пытаюсь удаленно установить дату, используя текущие компьютерные часы моей рабочей станции. ssh user@host sudo date –set="`date`" а также ssh user@host sudo date –set="`date -R`" оба дают ошибки «дополнительный операнд» и «недопустимые параметры». Да, я знаю, что могу набрать –set="YYYY-MM-DD HH:mm:ss" , […]

Использование sed для замены строки специальными символами другой строкой со специальными символами

Я пытаюсь автоматизировать выключение запроса bash для другого в .bashrc Оригинальная строка: PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' Сменные строки: IPeth0=$(Adr=$(ifconfig eth0 |grep inet); echo $Adr | awk '{print $2}' | cut -c 6- ) PS1='\d \t \[\e[0;31m\]\u@$IPeth0\[\e[0;32m\]:\[\e[0;36m\]\w# \[\e[m\] ' Одна из многих неудачных попыток написать bash для этого: #!/bin/bash original="PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '" replacement="PS1='\d \t \[\e[0;31m\]\u@$IPeth0\[\e[0;32m\]:\[\e[0;36m\]\w# \[\e[m\] '" ipvar="IPeth0=$(Adr=$(ifconfig eth0 […]

Почему bash расширяет историю / восклицательный знак, когда между одинарными кавычками

Я создаю скрипт для настройки сервера с нуля, часть этого – postgres. Одна из проблем, которые возникают у меня, – это случайный пароль с восклицанием, который, по-видимому, расширяется bash: Я хочу запустить следующую команду postgres: alter user root with encrypted password 'D1£example!2eNZY6P$9examplePassword'; Но из сценария bash, используя: psql -c "command;" С помощью: runuser -l postgres […]

как добавить команду с новой строкой в ​​переменных?

как вы знаете, когда мы пишем list=$(ls -l) все файлы, добавленные в $list вот так: total 0 drwx—— 7 mine-pc staff 238 Dec 22 11:32 Applications drwxr-xr-x@ 6 mine-pc staff 204 Jan 11 11:00 Applications (Parallels) drwx——+ 21 mine-pc staff 714 Jan 9 22:33 Desktop drwx——+ 33 mine-pc staff 1122 Jan 7 23:43 Documents drwx——+ […]

Невозможно использовать аргумент в сценарии расчета даты bash

Следующий скрипт bash не будет работать. Мне нужно рассчитать дату в зависимости от количества дней с 14 октября 1582 года, где аргументом будет количество дней. d="$1" date -d '14 Oct 1582 + "$d" days' например, команда ./datedays.sh 154748 должен дать Wed Jun 21 00:00:00 BST 2006 вместо этого он дает ошибку date: invalid date '14 […]

Почему цитаты сохраняются в строковых переменных, когда они окружены одинарными кавычками?

Мне нужно было сохранить двойные кавычки вокруг строковой переменной, определенной в bash , чтобы иметь возможность передать ее на диалект языка программирования Scheme . Мой вопрос в том, почему двойные кавычки сохраняются при размещении внутри другого набора одиночных кавычек? Чтобы проиллюстрировать это, я приведу несколько примеров из bash command prompt : $ str1=hey $ echo […]

Исходное синтаксическое объяснение переменных в bashrc

Я хочу правильно экспортировать переменную. Для этого мне нужно понять несколько вариантов синтаксиса. Я видел следующие механизмы экспорта переменной. В этом случае я использую .bashrc : export MY_VARIABLE=$USER/.gradle – $ export MY_VARIABLE="$USER/.gradle" –Quotes export MY_VARIABLE=USER/.gradle Нет $ export $MY_VARIABLE=$USER/.gradle Все $ Каково значение знака $ в этих случаях? Почему это иногда используется, а иногда и […]

Проблема с командой mv в скрипте

Это должна быть очень простая проблема для решения, но я застрял (не UNIX pro). Мне нужно переместить gz в целевой каталог, но я получаю No such file or directory . NOW=$(date +"%Y-%m-%d-%T") DEST="~/scripts/backup" SQL_DUMP="db_dump_$NOW.sql.gz" echo "$SQL_DUMP" drush sql-dump | gzip -9 > $SQL_DUMP mv -t $DEST $SQL_DUMP sql.gz создается правильно, только последняя команда не работает. […]

Проблема с использованием expr

У меня две строки str1="( 1 + 2 + 3 + 4 + 5 ) / 3 + 5" а также str2="( 1 + 2 + 3 + 4 + 5 ) / 3 + 5 * 2" Команда result=` expr $str1` возвращает правильное значение, тогда как result=` expr $str2` возвращает expr: syntax error не […]

Linux и Unix - лучшая ОС в мире.