Прежде всего: вы используете Wine, который в этом случае может потребовать воссоздать что-то, что имитирует среду выполнения командной оболочки Windows (cmd.exe).
Поскольку у вас нет сказал drive_c/Program\ Files\ \(x86\)/LINE/Line.exe, что нет возможности рассказать о своих требованиях.
Теперь : ambiguous redirect1: 1 выглядит как возможный вывод либо из Wine, либо из cmd.exe.
Может быть, вы необходимо убедиться, что ONLY WINE зависит от перенаправления стиля Linux. Возможно, вам придется посмотреть, что ожидает от Wine, и как защитить / отделить его параметры от тех, что были захвачены bash и vise versa.
Что нужно попробовать: поскольку это работает из командной строки bash, попробуйте source line2 для начала.
Если это работает, возможно, попробуйте вариант вроде этого - из сценария: bash <<EOF wine /home/aiao/.wine/drive_c/Program\ Files\ (x86)/LINE/Line.exe > /dev/null 2>&1 EOF
Еще один ... start - это инструмент командной строки Windows, который применяет те же задачи, что и двойной щелчок, например ссылку или файл, поэтому попробуйте:
wine start /home/aiao/.wine/drive_c/Program\ Files\ \(x86\)/LINE/Line.exeПримечание: БЕЗ перенаправления, если это работает, чтобы фактически запустить программу, тогда - если вам все еще нужно, вы можете попробовать добавить >/dev/null 2>&1 ( или что-то другое от других ответов) для Wine.
Ты лай на луне. Просто используйте редиректор добавления >> вместо редиректора записи >:
touch AllDirectoriesFileInfo.txt
ls -r /home/tony/Desktop/jpgfolder >> AllDirectoriesFileInfo.txt
ls -r /home/tony/Desktop/giffolder >> AllDirectoriesFileInfo.txt
ls -r /home/tony/Desktop/docxfolder >> AllDirectoriesFileInfo.txt
ls -r /home/tony/Desktop/dregsfolder >> AllDirectoriesFileInfo.txt
Или забудьте о добавлении и просто укажите ls несколько аргументов:
ls -r /home/tony/Desktop/jpgfolder /home/tony/Desktop/giffolder /home/tony/Desktop/docxfolder /home/tony/Desktop/dregsfolder >> AllDirectoriesFileInfo.txt
[d2 ] Упрощенный: ls -r ~tony/Desktop/{jpgfolder,giffolder,docxfolder,dregsfolder} >> AllDirectoriesFileInfo.txt
Еще короче, если tony является вашим именем пользователя:
ls -r ~/Desktop/{jpg,gif,docx,dregs}folder >> AllDirectoriesFileInfo.txt
Хотя, если вы собираетесь делая любую обработку данных в файле, вы захотите использовать find вместо ls, так как в общем случае ls выводит данные для людей для чтения, а find выводит вывод для компьютеров для чтения. В частности, в этом случае find перечисляет файл и его путь вместе.
Вот краткий пример:
$ mkdir dir1 dir2
$ touch {dir1,dir2}/file1
$ ls -r dir1 dir2 > ls_r_out.txt
Теперь скажите, что я хочу искать «file1»: [ ! d8]
$ grep 'file1$' ls_r_out.txt
file1
file1
Хорошо, это не очень полезно, потому что это не говорит мне и файлы. Я попробую тот же процесс с find. Теперь find не поддерживает сортировку, поэтому мне придется пропустить через sort:
$ find dir1 dir2 | sort -r > find_reverse_out.txt
$ grep 'file1$' find_reverse_out.txt
dir2/file1
dir1/file1
Voila. Обратите внимание, что это становится более сложным, если имена файлов содержат специальные символы, такие как символы новой строки.
Ты лай на луне. Просто используйте редиректор добавления >> вместо редиректора записи >:
touch AllDirectoriesFileInfo.txt
ls -r /home/tony/Desktop/jpgfolder >> AllDirectoriesFileInfo.txt
ls -r /home/tony/Desktop/giffolder >> AllDirectoriesFileInfo.txt
ls -r /home/tony/Desktop/docxfolder >> AllDirectoriesFileInfo.txt
ls -r /home/tony/Desktop/dregsfolder >> AllDirectoriesFileInfo.txt
Или забудьте о добавлении и просто укажите ls несколько аргументов:
ls -r /home/tony/Desktop/jpgfolder /home/tony/Desktop/giffolder /home/tony/Desktop/docxfolder /home/tony/Desktop/dregsfolder >> AllDirectoriesFileInfo.txt
Упрощенный:
ls -r ~tony/Desktop/{jpgfolder,giffolder,docxfolder,dregsfolder} >> AllDirectoriesFileInfo.txt
Еще короче, если tony является вашим именем пользователя:
ls -r ~/Desktop/{jpg,gif,docx,dregs}folder >> AllDirectoriesFileInfo.txt
Хотя, если вы собираетесь делая любую обработку данных в файле, вы захотите использовать find вместо ls, так как в общем случае ls выводит данные для людей для чтения, а find выводит вывод для компьютеров для чтения. В частности, в этом случае find перечисляет файл и его путь вместе.
Вот краткий пример:
$ mkdir dir1 dir2
$ touch {dir1,dir2}/file1
$ ls -r dir1 dir2 > ls_r_out.txt
Теперь скажите, что я хочу искать «file1»: [ ! d8] $ grep 'file1$' ls_r_out.txt
file1
file1
Хорошо, это не очень полезно, потому что это не говорит мне и файлы. Я попробую тот же процесс с find. Теперь find не поддерживает сортировку, поэтому мне придется пропустить через sort:
$ find dir1 dir2 | sort -r > find_reverse_out.txt
$ grep 'file1$' find_reverse_out.txt
dir2/file1
dir1/file1
Voila. Обратите внимание, что это становится более сложным, если имена файлов содержат специальные символы, такие как символы новой строки.
Ты лай на луне. Просто используйте редиректор добавления >> вместо редиректора записи >:
touch AllDirectoriesFileInfo.txt
ls -r /home/tony/Desktop/jpgfolder >> AllDirectoriesFileInfo.txt
ls -r /home/tony/Desktop/giffolder >> AllDirectoriesFileInfo.txt
ls -r /home/tony/Desktop/docxfolder >> AllDirectoriesFileInfo.txt
ls -r /home/tony/Desktop/dregsfolder >> AllDirectoriesFileInfo.txt
Или забудьте о добавлении и просто укажите ls несколько аргументов:
ls -r /home/tony/Desktop/jpgfolder /home/tony/Desktop/giffolder /home/tony/Desktop/docxfolder /home/tony/Desktop/dregsfolder >> AllDirectoriesFileInfo.txt
Упрощенный:
ls -r ~tony/Desktop/{jpgfolder,giffolder,docxfolder,dregsfolder} >> AllDirectoriesFileInfo.txt
Еще короче, если tony является вашим именем пользователя:
ls -r ~/Desktop/{jpg,gif,docx,dregs}folder >> AllDirectoriesFileInfo.txt
Хотя, если вы собираетесь делая любую обработку данных в файле, вы захотите использовать find вместо ls, так как в общем случае ls выводит данные для людей для чтения, а find выводит вывод для компьютеров для чтения. В частности, в этом случае find перечисляет файл и его путь вместе.
Вот краткий пример:
$ mkdir dir1 dir2
$ touch {dir1,dir2}/file1
$ ls -r dir1 dir2 > ls_r_out.txt
Теперь скажите, что я хочу искать «file1»: [ ! d8] $ grep 'file1$' ls_r_out.txt
file1
file1
Хорошо, это не очень полезно, потому что это не говорит мне и файлы. Я попробую тот же процесс с find. Теперь find не поддерживает сортировку, поэтому мне придется пропустить через sort:
$ find dir1 dir2 | sort -r > find_reverse_out.txt
$ grep 'file1$' find_reverse_out.txt
dir2/file1
dir1/file1
Voila. Обратите внимание, что это становится более сложным, если имена файлов содержат специальные символы, такие как символы новой строки.