Acho que deve haver uma resposta simples para isso, mas não consigo entender por que isso não está funcionando!
Eu tenho uma pasta no meu diretório pessoal (bem, alguns níveis abaixo) chamada plug-ins instalados. Quero transferir todo o conteúdo dessa pasta (cerca de 15 arquivos .jar) para pastas diferentes, também chamadas de plug-ins instalados.
Isto é o que estou tentando:
$ sudo mv /home/jira-plugins/installed-plugins/* /var/atlassian/application-data/jira/plugins/installed-plugins/
mv: cannot stat `/home/jira-plugins/installed-plugins/*': No such file or directory
Qual é o meu erro?
A pasta definitivamente não está vazia. Aqui está a ls
saída:
$ sudo ls /home/jira-plugins/installed-plugins
analytics-client-3.15.jar plugin.2223138796603023855.jira-importers-plugin-6.0.30.jar
atlassian-chaperone-2.0.3.jar plugin.330169947367430109.jira-fisheye-plugin-6.2.8.jar
atlassian-client-resource-1.0.jar plugin.4363048306537053933.jeditor-2.1.7.2.jar
atlassian-pocketknife-api-commons-plugin-0.19.jar plugin.4438307615842123002.jira-ical-feed-1.0.4.jar
atlassian-pretty-urls-plugin-1.8.jar plugin.461510159947098121.jira-issue-collector-plugin-1.2.5.jar
base-hipchat-integration-plugin-7.8.24.jar plugin.5630909028354276764.atlassian-universal-plugin-manager-plugin-2.7.8.jar
base-hipchat-integration-plugin-api-7.8.24.jar plugin.6920509095052318016.atlassian-bonfire-plugin-2.9.13.jar
hipchat-core-plugin-0.8.3.jar plugin.6952408596192442765.atlassian-bonfire-plugin-2.8.2.jar
hipchat-for-jira-plugin-1.2.11.jar plugin.7079751365359230322.jira-importers-bitbucket-plugin-1.0.8.jar
jira-email-processor-plugin-1.0.29.jar plugin.7451827330686083284.atlassian-universal-plugin-manager-plugin-2.21.4.jar
jira-fisheye-plugin-7.1.1.jar plugin.7498175247667964103.jira-importers-redmine-plugin-2.0.7.jar
jira-ical-feed-1.1.jar plugin.7803627457720701011.jira-importers-plugin-3.5.3.jar
jira-issue-nav-components-6.2.23.jar plugin.7977988994984147602.jira-bamboo-plugin-5.1.6.jar
jira-servicedesk-2.3.6.jar plugin.8372419067824134899.jira-importers-plugin-5.0.2.jar
jira-workinghours-plugin-1.5.5.jar plugin.9081077311844509190.jira-fisheye-plugin-5.0.13.jar
plugin.1260160651631713368.stp-3.0.11.jar plugin.9128973321151732551.jira-fisheye-plugin-6.3.10.jar
plugin.2076016305412409108.jira-fisheye-plugin-3.4.10.jar plugin-license-storage-plugin-2.8.jar
plugin.218965759549051904.jira-importers-plugin-6.1.5.jar querydsl-4.0.7-provider-plugin-1.1.jar
plugin.2211202876682184330.jira-ical-feed-1.0.12.jar stp-3.5.10.jar
/home/
ou está em/home/USER/
:?ls /home/jira-plugins/installed-plugins/
.Respostas:
É quase certamente devido ao fato de que sua conta de usuário comum não pode acessar o diretório, portanto, o shell não pode enumerar os arquivos que corresponderiam ao curinga.
Você pode confirmar isso facilmente com um comando como este
Se você receber uma permissão negada, não há como o shell expandir um
*
curinga nesse diretório.Por quê? Considere seu comando
A ordem de processamento é (1) expandir os caracteres curinga, (2) executar o comando, que neste caso está
sudo
com alguns argumentos que correspondem a umamv
instrução.Você pode resolver o problema de duas maneiras
Torne-se root e mova os arquivos
Expanda o curinga após a execução
sudo
fonte
Como você faz
sudo ls
para listar a pasta, presumo que um ou mais diretórios no caminho sejam ilegíveis por usuários regulares. Isso explicaria o comportamento. O principal mal-entendido aqui é quando a expansão global*
é feita. Isso é feito pelo shell, antes de chamar qualquer comando. Se o shell não tiver permissões suficientes, não poderá expandi-lo.O que acontece neste caso com mais detalhes é:
/home/jira-plugins/installed-plugins
como você, ele não poderá expandir o padrão glob/home/jira-plugins/installed-plugins/*
. Isso deixará inalterado. Após esta etapa,*
não é mais especial.sudo
com os argumentosmv
/home/jira-plugins/installed-plugins/*
e/var/atlassian/application-data/jira/plugins/installed-plugins/
sudo
invocamv
com os argumentos/home/jira-plugins/installed-plugins/*
e/var/atlassian/application-data/jira/plugins/installed-plugins/
mv
tenta mover um arquivo realmente nomeado/home/jira-plugins/installed-plugins/*
, mas ele não existe e, portanto, a mensagem de erro.fonte