• Tags
  • Politique de confidentialité
Menu
Communauté en ligne pour les développeurs

Fonction à la place de l'alias dans le script de connexion du shell C

J'ai vu dans cette sujet que vous pouvez ajouter une fonction dans le shell script de connexion à la place d'un alias si vous souhaitez utiliser des paramètres. Cependant, j'ai placé le code suivant à l'intérieur de mon .cshrc fichier dans la section avec aliasses:

function gf()
{
    grep -n $1 `find .` | grep -v "can't open"
}

Mais quand j'type de source .cshrc, j'obtiens le message d'erreur: Mal placé ()'. Est la syntaxe différente pour le C shell que dans un shell Bash? Si oui, quelle est la bonne syntaxe?

source d'informationauteur physicalattraction

aliasloginshell
  1. 16

    Malheureusement, vous ne pouvez pas définir des fonctions dans cshcomme vous pouvez dans la plupart des autres coquilles. Cette fonctionnalité n'existe pas dans csh.

    La seule alternative est de créer un script et de le placer dans un répertoire sur votre PATH par exemple ~/bin.

  2. 0

    Voici ma solution:

    #!/bin/csh
    
    if ("$1" == "run") goto $2
    
    echo "Now in default mode"
    
    echo "Calling myself"
    
    csh -f dummy run sub1
    
    csh -f dummy run sub2
    
    exit
    
    
    sub1:
    
    echo "In sub1"
    
    exit
    
    sub2:
    
    echo "In sub2"
    
    exit

Annuler la réponse

Vous devez vous connecter pour publier un commentaire.

    2 réponses
    Intéressant
    Les derniers dossiers
    • Erreur lors de la tentative d'encodage / décodage de la chaîne en Base64
    • Comment installer PyGame sur Python 3.4?
    • Attendez que la collection récupère tout dans l'épine dorsale
    • En attente d'une entrée utilisateur avec un délai d'attente
    • Rails comment exporter des données avec send_data puis rediriger vers une nouvelle page?
    • VC ++ cl.exe - DLL non trouvé