2017-04-21 4 views
0

J'ai besoin d'avoir l'URL de curl formatée comme ceci pour qu'elle soit réussie.Créer une URL de curl dans bash

$instanceUrl/sobjects/$sObject/describe -H 'Authorization: Bearer $apiToken' 

Ceci est mon script jusqu'à présent.

#!/bin/bash 
CURL='/usr/bin/curl' 
CURLARGS='-H' 

echo "welcome to sf-db-mock" 

echo "please enter the instance url of the Salesforce org database you'd like to mock, followed by [ENTER]:" 

# get rest endpoint 
read instanceUrl 

echo "please enter your api token, followed by [ENTER]:" 

# get api token from users current session 
read apiToken 

# get the objects the users wants described 
echo "please enter each sObject you'd like to mock by entering its API Name, using a space after each sObject, followed by [ENTER]:" 

read -a sObjects 

for sObject in ${sObjects[@]} 

do 
    describe="$('sobjects'\/$sObject\/'describe '$CURLARGS ' Authorization: Bearer '$apiToken)" 
    echo $instanceUrl$describe 
done 

L'erreur que je reçois en cours d'exécution, il est

./mock.txt: ligne 25: sobjects/enquête/décrivent -H: Aucun fichier ou répertoire »

Mon script bash est exécutable.

Répondre

0

La notation $(a b c) signifie exécuter la commande a avec les arguments b et c.

Ce que vous voulez est de supprimer la parenthèse:

describe="sobjects/$sObject/describe $CURLARGS 'Authorization: Bearer '$apiToken'"