[英]When using alias containing cd and echos, an arrow appear but nothing else
我做了一个很长的别名,但无法使用。 我把它放在〜/ .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键时,其他箭头也会显示在下方。 我不知道该怎么办。
由于以下内容中有未转义的引号,因此您的报价未公开:
echo "git commitcommit -am "Message du Commit" ;
>
是继续提示,因为外壳程序正在等待您关闭引号。 您不需要别名即可看到这种情况:
$ 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
将此作为函数而不是别名编写:
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
,而您可能没有$HOME
下的 Users
)。
您不匹配“。
我认为有罪的部分是:
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
,而不要包含许多回声。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.