nixp.ru v3.0

22 января 2017,
воскресенье,
13:14:12 MSK

Аутсорсинг Linux с компанией «Флант»
denel написал 24 марта 2010 года в 02:13 (393 просмотра) Ведет себя как мужчина; открыл 23 темы в форуме, оставил 63 комментария на сайте.

Я создал .desktop, который ссылается на .sh.

.desktop сделал плазмоидом в панеле. Когда забрасываю один файл на этот плазмоид — через «$@» получаю его путь целиком, а если я забрасываю одновременно хотябы 2 таких файла — у меня через «$@» получается одной строкой 2 путя, разделенных одним пробелом. Как эти 2 и более файлов можно разделить между собой? расширение и стартовая директория не в счет, так так это могут быть директории в перемешку с файлами.

Дмитрий Шурупов
shurup@ubuntop:~$ cat a.sh
#!/bin/sh
for i in $@; do
        echo $i
done
shurup@ubuntop:~$ sh a.sh foo bar qux
foo
bar
qux
shurup@ubuntop:~$ 


?

denel

а если в названии встречается пробел?…

Дмитрий Шурупов

Просто добавим кавычки ;-) И надеемся, что эти пути передаются правильно (т.е. в кавычках или с бэкслешами перед пробелами):

shurup@ubuntop:~$ cat a.sh
#!/bin/sh
for i in "$@"; do
        echo $i
done
shurup@ubuntop:~$ sh a.sh '/path1 number one' path2/number\ two path3
/path1 number one
path2/number two
path3
shurup@ubuntop:~$ 


 

denel

Вот, точно, спасибо!

ecobeingecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.