Выполнение команд из корневого каталога новой рабочей области

Правильная команда:

echo "$(wc -l < file.txt) items in File"

Обратите внимание на кавычки, например, выполнив:

$('du / -h | sort -h')

Вы говорите оболочке «эй, выполните 'du / -h | sort -h'», и bash ответит , "о нет, я не знаю, что такое 'du / -h | sort -h'". Я не уверен на 100%, но думаю, что когда вы цитируете что-то, вы избегаете специальных символов, таких как '|'.

Решение для приведенного выше примера - удалить кавычки.

$(du / -h | sort -h)

Вывод вашей команды уже говорит о том, что происходит:

zsh: command not found: cat file.txt | wc -l
2
22.03.2016, 16:19
1 ответ

Если я правильно понял, вы хотите, чтобы ваш каталог test располагался в том же месте, что и сценарий.

Вы можете получить местоположение сценария (независимо от вашего текущего каталога, когда вы его запускали) следующим образом:

MYPATH=`dirname \`readlink -e "$0"\``

Затем вы можете сделать, например,

cd "$MYPATH/test"

Пояснение:

$ 0 - это имя (включая путь) скрипта.

readlink -e / foo / bar дает вам абсолютное местоположение / foo / bar (разрешая также любые символические ссылки).

dirname обрезает часть файла и оставляет вам только путь

0
27.01.2020, 22:48

Теги

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