相关疑难解决方法(0)

ssh登录时的.bashrc

当我进入运行Hardy 8.04的ubuntu-box时,我的.bashrc中的环境变量没有设置.

如果我做一个源.bashrc,变量是正确设置的,一切都很好.

为什么.bashrc不会在登录时运行?

ssh bash ubuntu

357
推荐指数
4
解决办法
13万
查看次数

如何设置$ PATH使`ssh user @ host command`有效?

我似乎无法设置一个新的$ PATH,以便在执行命令时使用它ssh user@host command.我已经尝试export PATH=$PATH:$HOME/new_path在远程机器上添加〜/ .bashrc和〜/ .profile,但是执行ssh user@host "echo \$PATH"表明没有获取更改(它显示/ usr/local/sbin:/ usr/local/bin:/ usr/sbin目录:在/ usr/bin中:/ sbin目录:/ bin中:在/ usr /游戏).远程计算机正在运行Ubuntu 8.04.

我确信我可以将其破解到/ etc/profile中,但这不是一个干净的解决方案,只有在具有root访问权限时才有效.

unix ssh shell path

124
推荐指数
4
解决办法
8万
查看次数

为什么非交互式Bash shell中的别名不起作用

我试图在非交互式bash shell中使用别名.我已经定义了我的别名~/.bashrc,我已经设置了变量BASH_ENV=~/startUpFile.startUpFile的内容是source ~/.bashrc.

当我执行alias命令时,我可以看到我的别名被识别.但是,如果我尝试使用定义的别名~/.bashrc,Bash无法识别它.它给了我未知的命令错误.

使用TCSH shell可以很容易地执行此操作,因为~/.cshrc始终会读取文件.

有什么想法我怎么能用Bash shell做到这一点?

bash alias non-interactive

44
推荐指数
3
解决办法
2万
查看次数

无法使expand_aliases生效

我无法让expand_aliases在bash中生效.我尝试了很多不同的东西,没有任何作用.

这是简单的测试用例:

/bin/bash -c 'shopt -s expand_aliases; alias cdtmp="cd /tmp"; alias; cdtmp; pwd;'
Run Code Online (Sandbox Code Playgroud)

并输出:

$ /bin/bash -c 'shopt -s expand_aliases; alias cdtmp="cd /tmp"; alias; cdtmp; pwd;'
alias cdtmp='cd /tmp'
/bin/bash: cdtmp: command not found
/home/user

$ /bin/bash --version
GNU bash, version 3.2.25(1)-release (i686-redhat-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
Run Code Online (Sandbox Code Playgroud)

(是的,我正在使用shopt而不是-O选项进行bash,只是为了证明它正在完成.)

有任何想法吗?

bash alias

10
推荐指数
1
解决办法
4467
查看次数

通过 SSH 连接到远程服务器并在虚拟环境中运行命令

我正在尝试执行远程服务器上的脚本。该脚本激活虚拟环境,然后执行一些命令。现在我想直接从我的 mac 终端执行这个脚本。这是脚本的内容

cd ~/workdir/
workon myvirtualenv
source ~/prodStuff/envVars 
git pull origin master
supervisorctl -u admin -p password restart gunicorn
supervisorctl -u admin -p password status
deactivate
Run Code Online (Sandbox Code Playgroud)

当我登录服务器并执行它时,该脚本运行良好。但是当我尝试从 mac 终端执行相同的操作时,它给出了以下错误

/home/ubuntu/scripts/deploy_code.sh: line 2: workon: command not found
Run Code Online (Sandbox Code Playgroud)

所以本质上,我无法切换到虚拟环境。这是我用来从终端执行脚本的命令

ssh prodserver ". /home/ubuntu/scripts/deploy_code.sh"
Run Code Online (Sandbox Code Playgroud)

如果有人能帮助我解决这个问题,我将不胜感激。

谢谢

ssh virtualenv

5
推荐指数
1
解决办法
8375
查看次数

标签 统计

bash ×3

ssh ×3

alias ×2

non-interactive ×1

path ×1

shell ×1

ubuntu ×1

unix ×1

virtualenv ×1