Используя ; или && с помощью $ @

Я пытаюсь сделать что-то с оберткой cron, и мой cron выглядит примерно так

* * * * * root /usr/bin/wrapper cd /tmp/ && ls 

Тогда обертка выглядит

 #!/bin/bash "$@" 

Когда я запускаю его, я не могу заставить полуколону или && работать, как я надеюсь.

 [root@domain.net ~/test]# pwd /root/test [root@domain.net ~/test]# ls test.sh [root@domain.net ~/test]# ./test.sh cd /tmp && ls test.sh 

Таким образом, в этом случае он переходит в tmp, тогда скрипт отряда выходит .. и он запускает ls в моем cwd.

Если я добавлю «вокруг команды, которую я получаю

 [root@domain.net ~/test]# ./test.sh 'cd /tmp && ls' ./test.sh: line 3: cd /tmp && ls: No such file or directory 

Я предполагаю, что с помощью «$ @» он пытается добавить в одиночную кавычку к выполняемой команде

Я поддерживаю, что могу выделить одиночные кавычки до «$ @», но я надеялся не делать этого .. какие-либо советы или это даже разрешимо в bash?

One Solution collect form web for “Используя ; или && с помощью $ @”

/usr/bin/wrapper cd /tmp/ && ls анализируется как (/usr/bin/wrapper cd /tmp/) && ls . Даже если вам удастся правильно передать аргументы wrapper , они не понимают их; && – конструкция оболочки. Я не уверен, что именно вы нацелились на этот скрипт-оболочку, но я подозреваю, что вы можете просто заменить его bash -c , который берет строку и говорит bash, чтобы оценить ее, как если бы вы набрали ее непосредственно в оболочку :

 * * * * * root bash -c "cd /tmp/ && ls" 
  • Можно ли периодически менять PS1 по сценарию в фоновом режиме?
  • Как проверить, соответствует ли имя файла шаблону?
  • Как я могу подавить вывод grep, чтобы он возвращал только статус выхода?
  • Почему этот плагин Bash NRPE не возвращает переменную Nagios?
  • Как оценивать команды на данном узле кластера с помощью plink?
  • Зеркало LFTP включает в себя - включая другие каталоги, отличные от того, что я включил
  • Почему я не могу успешно экспортировать путь в сценарий bash?
  • Удалите повторяющиеся строки из нескольких файлов в папке: проверьте только файлы в пределах диапазона
  • Почему «kill -9» убивает браузер, а также сервер?
  • Возможно ли иметь комментарии в многострочных командах в рыбе?
  • Как удалить конечные пробелы в конце строки в заданных файлах (более одного)?
  • Interesting Posts

    Если мне нужно воссоздать ключи хоста SSH с помощью ssh-keygen, как я могу изменить выходной каталог? (-f переключатель, похоже, не работает)

    Будет ли `cat ~ / foo *> ~ / results / output.txt` сохранять порядок` ~ / foo * `?

    Проблемы со звуком BSD с Realtek 892

    ssh, sudo, а затем скачать?

    Замените длинную строку командой sed: слишком длинная ошибка списка аргументов

    Как получить код статуса grep, расположенный в поиске

    / dev / sdb: нет такого файла или каталога (но / dev / sdb1 и т. д.)

    вставить содержимое между совпадающим шаблоном в сценарии оболочки

    Передача опции в make-файл

    Как остановить Mod4-P от переключения дисплея?

    Почему установка overlayfs с корнем как lowerdir создает пустую / proc в mergedir?

    sbt работает, но не может видеть на порту 9000 centos 6.5

    Не удалось отправить письмо с помощью mailx в Light ubuntu vmware

    Блокировка экрана LightDM в awesome-wm разблокируется сама по себе

    Отключить классификаторы glob в zsh

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