Ответ 1
У вас есть две проблемы:
-
Бесполезное использование эха в Backticks
-
Всегда указывайте, что вы
echo
Таким образом, фиксированный код
a=5
cronSen="*/$a * * * * bash /etc/init.d/ckDskCheck.sh"
echo "$cronSen"
Похоже, вы также можете использовать бесполезное использование переменной, но, возможно, cronSen
полезно в более широком контексте.
Короче говоря, укажите все, где вам не требуется, чтобы оболочка выполняла разделение токенов и расширение подстановочных знаков.
Разделение токена,
words="foo bar baz"
for word in $words; do
:
(Этот цикл три раза. Цитирование $words
будет только циклически проходить по литеральному токену foo bar baz
.)
Расширение подстановочных знаков:
pattern='file*.txt'
ls $pattern
(Quoting $pattern
попытается перечислить один файл, имя которого буквально file*.txt
.)
В более конкретных терминах обычно должно быть указано все, содержащее имя файла.
Изменена переменная, содержащая список токенов для циклического перехода или подстановочный знак для расширения, поэтому мы иногда сокращаем "процитировать все, если вы точно не знаете, что делаете".