Command line 在ssh进入VM后继续/运行命令
在进入我需要的文件之前,我必须采取相当多的步骤,这就是为什么我试图在终端中设置一个别名,通过运行该别名来访问该文件 要到达我必须到达的地方,需要以下步骤:Command line 在ssh进入VM后继续/运行命令,command-line,ssh,terminal,vagrant,Command Line,Ssh,Terminal,Vagrant,在进入我需要的文件之前,我必须采取相当多的步骤,这就是为什么我试图在终端中设置一个别名,通过运行该别名来访问该文件 要到达我必须到达的地方,需要以下步骤: cd站点 vagrant ssh cd/var/www/miniportal.billeten.dk/logs/ sudo-s cd/etc/apache2/sites available/ nano 25-av_miniportal.conf 编辑该文件中的第33行(我想可以跳到该行) 我试着设置一个这样的别名,但问题是,在我SSH到Vag
cd站点
vagrant ssh
cd/var/www/miniportal.billeten.dk/logs/
sudo-s
cd/etc/apache2/sites available/
nano 25-av_miniportal.conf
Vagrant
之后,它停止运行命令的其余部分。如果我手动exit
Vagrant,它会继续执行命令(当然会返回一个错误,因为没有这样的文件夹)
问题是:如何确保在通过SSH登录步骤2之后执行步骤3中的所有内容
我的最终目标是建立一个Apple Automator程序,让我输入一个在第33行输入的值,但我现在只需要一个别名就可以了。我知道我很久以前问过这个问题,但同时我找到了一个解决方案,忘了我已经发布了这个问题 我的
.zshrc
-文件中的别名如下所示:
alias changeCust='ssh-troot@192.168.56.101“nano+32/etc/apache2/sites enabled/25-av_miniportal.conf&&service apache2 reload””
换句话说,它以root用户身份(请求我的密码)进入vagrant,nanos进入第32行的文件(或任何您需要的行),然后,当文件保存时,它重新加载apache2
,并应用更改
只需使用下面的一个并更改值
alias AliasName='ssh-troot@your.ip.addres.here“nano+lineNumber/path/to/file”
您想每次执行vagrant ssh
还是仅在vm初始化(vagrant up
)时运行它?在第一种情况下,您需要为3-7创建别名并添加到.bash;其次,您可以使用脚本provisiongno,我不想每次执行vagrant ssh
时都运行它,因为我还必须在其中执行一些其他操作(很少,但会发生)。我发现不可能从我自己的机器向Vagrant发送命令,所以我现在设置了一个操作,在SSH连接到Vagrant后手动运行。这将4个步骤变为一个步骤,因此这是相当大的改进!