У меня есть скрипт на моем рабочем столе Mac:myProg.command или myProg.sh ,

содержание:

cp "foo/foo.txt" "bar/foo.txt"

Скрипт устанавливается как исполняемый.
Каталоги Desktop/foo , Desktop/bar и файл /Desktop/foo/foo.txt существуют.

Но когда я дважды щелкаю по исполняемому файлу, я вижу сообщения об ошибках "команда не найдена" и "нет такого файла или каталога".

Выход:

Last login: Mon Nov 25 15:56:19 on ttys000
CompName:~ MyName$ /Users/MyName/Desktop/myProg.command ; exit;
cp: foo/foo.txt
No such file or directory
: command not found/myProg.command: line 2: 
: command not found/myProg.command: line 3: 
logout

[Process completed]

Как я могу это исправить?

2 ответа2

1

Когда вы запускаете такой скрипт, он всегда запускается в вашей папке HOME.
Это НЕ папка рабочего стола.
Рабочий стол - это подпапка HOME.

Из строки приглашения в выходном примере вы можете сказать: «CompName: ~ MyName $» - это текущая папка, в которой начинается выполнение скрипта.

0

Я нашел откуда эти сообщения об ошибках:

: command not found/myProg.command: line 2: 
: command not found/myProg.command: line 3: 

Мой файл был создан на ПК с Windows с /r/n для разрыва строки. Так что, очевидно, Мак "думал", что возвращение кареты - это команда

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