1

Почему следующий код не работает?

#!/bin/sh
PATH=$PWD/Info
defaults read $PATH

Каждый раз, когда я выполняю это, я получаю

./script: строка 3: значения по умолчанию: команда не найдена

Как только я делаю это в одну строку, это работает

defaults read $PWD/Info

Это нормально, как это. Мне просто интересно.

2 ответа2

5

Потому что вы меняете $PATH , который является специальной переменной. Оболочка использует PATH для поиска исполняемых программ. Возможно, по defaults это один из них, но после удаления его папки из PATH оболочка больше не сможет его выполнить.

3

Добавьте к пути вместо его замены:

PATH=$PWD/Info:$PATH

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .