/ / error: Nie można wywołać metody 'substr' z zerowego przesyłania pliku azure - bash, azure, azure-cli

błąd: nie można wywołać metody 'substr' z zerowego przesyłania pliku azure - bash, azure, azure-cli

Próbuję przesłać niektóre pliki zip do magazynu blob Azure przy użyciu tego skryptu:

#!/bin/bash
# Sample script to upload a file to a BLOB container

if [ $# -eq 0 ]
then
echo "Please specify a filename"
exit 1
fi

# Required parameters
file_name=$1
azure_account=xxx
azure_key=xxx
container_name=xxx
blob_name=xxx

# Used by azure-cli
export AZURE_STORAGE_ACCOUNT=$azure_account
export AZURE_STORAGE_ACCESS_KEY=$azure_key

azure storage blob upload $file_name $container_name $blob_name

Ale kiedy go uruchomię, otrzymuję:

sh upload-file.sh file.zip info: Wykonywanie bloba pamięci poleceń błąd przesyłania: nie można wywołać metody "substr" dla null info: Error informacja została zapisana do /home/usr/.azure/azure.err błąd:
Komenda wysyłania blob nie powiodła się

Odpowiedzi:

0 dla odpowiedzi № 1

Zakładam, że jesteś w systemie Windows. Następujące prace z PowerShell na moim komputerze.

sh upload-file.sh file.zip

The #!/bin/bash na początku twojego skryptu oznacza który powinien używać bash wykonać. Czy masz zainstalowane bash? Sprawdź via bash --version.

> bash --version
GNU bash, version 3.1.23(6)-release (i686-pc-msys)
Copyright (C) 2005 Free Software Foundation, Inc.

Jeśli nie masz basha, zainstaluj go. Sposób, w jaki zainstalowałem bash w systemie Windows był przez msysGit. To instaluje to, co się nazywa git-bash wraz z Git dla Windows. Istnieją inne sposoby instalacji bash w systemie Windows, takie jak win-bash i Cygwin, chociaż nie mam z nimi żadnej znajomości.