Как открыть файл при вводе его каталога?

Я новичок в использовании терминала в Ubuntu, и мне было интересно, как я могу открыть файл «armored.jpg», когда я набираю весь путь.

Например, если я набираю , а затем введите xdg-open armored.jpg в текущем каталоге, который откроет изображение.

Однако, когда я печатаю:

cd ~/Pictures/Wallpapers/test\ x/ xdg-open armored.jpg

или

cd ~/Pictures/Wallpapers/test\ x/armored.jpg

или

cd ~/Pictures/Wallpapers/test\ x/armored

он не работает.

Кто-нибудь может объяснить, почему это так? Я хочу знать, могу ли я открыть файл с чем-то вроде этого:

cd ~/Pictures/Wallpapers/test\ x/**command goes here**/armored.jpg

Спасибо

1
задан 23 April 2014 в 07:53

3 ответа

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

xdg-open ~/Pictures/Wallpapers/test\ x/armored.jpg

Первое слово, которое вы используете в терминале, - это команда, которую вы пытаетесь запустить (которая может быть программой, встроенной функцией, и т. д.), и все другие слова передаются в эту программу в качестве аргументов. В этом случае вы говорите, что xdg-open отображает ваш JPG, поэтому сначала вы будете вводить команду, а затем путь к изображению.

1
ответ дан 24 May 2018 в 09:00

Вы можете использовать двойные амперсанды. Например:

cd ~/Pictures/Wallpapers/test\ x/ && xdg-open armored.jpg

Это выполнит первую команду и переместится ко второй, если первая будет успешной.

или вы могли бы сделать: [ ! d3]

cd ~/Pictures/Wallpapers/test\ x/; xdg-open armored.jpg

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

1
ответ дан 24 May 2018 в 09:00
cd ~/Pictures/Wallpapers/test\ x/ xdg-open armored.jpg

Если вы запустите эту команду, терминал рассматривает целое после cd как каталог, и он ломается, если он содержит какие-либо пробелы и отбрасывает часть после пробела. В этом случае приведенная выше команда приведет вас только к каталог ~/Pictures/Wallpapers/test\ x. Если вы действительно хотите открыть файл с помощью xdg-open, то ваша команда должна взломать, как показано ниже.

cd ~/Pictures/Wallpapers/test\ x/; xdg-open armored.jpg

Терминал анализирует вторую команду (т.е. после;), выполнила ли первая команда или нет.

Пример:

$ cd ~/Pictures/Wallpapers/test\ x/; xdg-open armored.jpg
bash: cd: /home/avinash/Pictures/Wallpapers/test x/: No such file or directory
gvfs-open: armored.jpg: error opening location: Error when getting information for file '/home/avinash/armored.jpg': No such file or directory

или

cd ~/Pictures/Wallpapers/test\ x/ && xdg-open armored.jpg

Терминал анализирует вторую команду только в том случае, если первая команда закончилась успехом.

Пример:

$ cd ~/Pictures/Wallpapers/test\ x/ && xdg-open armored.jpg
bash: cd: /home/avinash/Pictures/Wallpapers/test x/: No such file or directory
0
ответ дан 24 May 2018 в 09:00

Другие вопросы по тегам:

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