.bash_profile
我有一个文件,其中包含从我的as运行的命令列表
source my_cmds
例如:
$cat my_cmds
scripts=~/scripts
假设我$HOME
是/Users/knayak
,当我
cd $scripts
在提示符下运行时,它需要我/Users/knayak/scripts
现在,我有一个这种形式的路径(由于某些原因无法重命名),为此我不知道如何设置命令变量以便我可以cd $path
使用该变量。
/Users/knayak/Somedir - some name Inc/Tasks
我尝试将所有这些添加到我的my_cmds
文件中以设置环境变量tasks
,
$cat my_cmds
tasks=~/Somedir - some name Inc/Tasks
tasks="~/Somedir - some name Inc/Tasks"
tasks=~/"Somedir - some name Inc/Tasks"
...
还有更多,包括一些单引号,但当我这样做时,它们似乎都不起作用cd $tasks
。大多数都因错误而失败。
cd: "/Users/knayak/Somedir: 没有这样的文件或目录
我需要在表单中设置正确的值tasks=~/<whatever>
才能cd $tasks
使用此路径?
答案1
请引用您的变量扩展。
如果文件my_cmds
是:
$ cat my_cmds
tasks=~/"Somedir - some name Inc/Tasks"
该文件./bash_profile
包含(以及其他行):
$ cat ~/.bash_profile
[ -f ~/my_cmds ] && . ~/my_cmds
cd "$tasks" && pwd
执行~/.bash_profile会显示:
$ sh ~/.bash_profile
/Users/knayak/Somedir - some name Inc/Tasks