使用包含cd和echos的别名时,会出现一个箭头,但没有其他内容

时间:2017-02-26 11:50:02

标签: bash

我做了一个很长的别名,我无法让它工作。我把它放在〜/ .bash_profile中。这是它:

alias venga='cd ~/Users/clem/Desktop/venga/ ; echo "Vous êtes dans le dossier venga de votre site web." ; echo " " ; echo "Pour ajouter un commit, utilisez :" ; echo "git commitcommit -am "Message du Commit" ; echo " " ; echo "Pour envoyer le dossier vers GitHub, utilisez :" ; echo "git push origin master" ; echo " " ; echo "Pour ajouter un fichier à git utilisez :" ; echo "git add nomdufichier.xx"'

这是输出:

$ venga
>

当我按下Enter键时,下方会显示其他箭头。我不知道该怎么做。

3 个答案:

答案 0 :(得分:1)

由于未提供的报价,您有一个未公开的报价:

echo "git commitcommit -am "Message du Commit" ;

>是一个延续提示,因为shell正在等待您关闭引号。你不需要别名就可以看到这种情况:

$ echo "Hello
>
>
> world"
Hello


world
$

您可能打算:

echo "git commit -am \"Message du Commit\""

......或......

echo 'git commit -am "Message du Commit"'

但在最好的时候,在shell中引用是一个雷区。

将更多行输出到stdout的更简洁的方法是cat,其中包含以下文档:

 cat << END
 Hello
 "World"
 DONE

答案 1 :(得分:1)

将其写为函数,而不是别名:

venga() {
  cd /Users/clem/Desktop/venga/ || {
    echo "Impossible d'accéder au répertoire du site Web"
    return
  }
  echo 'Vous êtes dans le dossier venga de votre site web.'
  echo
  echo 'Pour ajouter un commit, utilisez :'
  echo 'git commitcommit -am "Message du Commit"'
  echo 
  echo 'Pour envoyer le dossier vers GitHub, utilisez :'
  echo 'git push origin master'
  echo
  echo 'Pour ajouter un fichier à git utilisez :'
  echo 'git add nomdufichier.xx'
}

允许错误处理,使代码更容易阅读 - 并且引起您引用麻烦的别名表单的引用问题。

(我还修复了~/Users/clem/Desktop/venga/Users/clem/Desktop/venga,因为前者正在寻找类似$HOME/Users/clem/Desktop/venga的内容,而您可能没有Users $HOME)。

答案 2 :(得分:0)

你不匹配&#34;。

我认为有罪的部分是:

echo "git commitcommit -am "Message du Commit"

这是固定版本:

alias venga='cd ~/Users/clem/Desktop/venga/ ; echo "Vous êtes dans le dossier venga de votre site web." ; echo " " ; echo "Pour ajouter un commit, utilisez :" ; echo "git commitcommit -am \"Message du Commit\"" ; echo " " ; echo "Pour envoyer le dossier vers GitHub, utilisez :" ; echo "git push origin master" ; echo " " ; echo "Pour ajouter un fichier à git utilisez :" ; echo "git add nomdufichier.xx"'

此外,您可能最好将此说明放在一个单独的文件中,只需cat,而不是有多个回声。