Quoting
使用路徑變數 cd 到包含空格的路徑
我有一個文件,其中包含我從我執行的命令
.bash_profile
列表source my_cmds
例如:
$cat my_cmds scripts=~/scripts
假設 my
$HOME
is/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
使用此路徑?
請引用您的變數擴展。
如果文件
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