PDA

View Full Version : [bash] Comando all'interno di un altro comando


psimem
20-08-2018, 10:24
Sono in difficolta' perche' vorrei creare un alias in .bashrc del seguente comando:
sudo ip netns exec testnamespace sudo -H -u myusername bash -c 'youtube-dl --default-search auto -i -f best --write-sub --sub-lang en -o "%(uploader)s - %(upload_date)s - %(title)s -- %(id)s.%(ext)s" -R 20 -ica list -r 200k'
Ma se inserisco la seguente linea in .bashrc quest'ultimo fa le bizze:
alias mycommand='sudo ip netns exec testnamespace sudo -H -u myusername bash -c 'youtube-dl --default-search auto -i -f best --write-sub --sub-lang en -o "%(uploader)s - %(upload_date)s - %(title)s -- %(id)s.%(ext)s" -R 20 -ica list -r 200k''
Il problema credo proprio che sia il doppio uso del carattere '
Come posso ovviare a tale problema?

sacarde
24-08-2018, 10:47
provato:

alias mycommand=".................'.......'......."

?



p.s.
il carattere ' all'interno del comando viene automaticamente trasformato in: \''

psimem
25-08-2018, 17:34
provato:

alias mycommand=".................'.......'......."

?



p.s.
il carattere ' all'interno del comando viene automaticamente trasformato in: \''

alias mycommand="sudo ip netns exec testnamespace sudo -H -u myusername bash -c 'youtube-dl --default-search auto -i -f best --write-sub --sub-lang en -o "%(uploader)s - %(upload_date)s - %(title)s -- %(id)s.%(ext)s" -R 20 -ica list -r 200k''
Non funziona :stordita:
syntax error near unexpected token `('

sacarde
25-08-2018, 19:34
vero... scusa


e se tu facessi 2 alias?

uno con youtube-dl ecc..

e l'altro che lo richiama



oppure:
https://code-examples.net/it/q/13131f

psimem
25-08-2018, 21:48
alias command01='youtube-dl --default-search auto -i -f best --write-sub --sub-lang en -o "%(uploader)s - %(upload_date)s - %(title)s -- %(id)s.%(ext)s" -R 20 -ica list -r 200k'
alias command02='sudo ip netns exec testnamespace sudo -H -u myusername bash -c command01'

bash: command01: command not found

:mc:

sacarde
26-08-2018, 07:56
provato come dice dal link disopra?

alternative fai uno script e metti tutto/parte del comando dentro

psimem
01-09-2018, 13:44
Molto interessante il link ma non riesco ad applicarlo al mio caso :fagiano:
Alla fine ho inserito il tutto in uno script richiamato da un alias. Anche se non mi garba come soluzione per adesso funziona, poi se avro' tempo vedo di studiarmi per bene la soluzione proposta nel link.
Grazie!