【发布时间】:2010-09-19 16:18:21
【问题描述】:
我已经编写了一个脚本来用 wine 打开 Spotify:
#!/bin/bash
DIR="/home/jorgsk/.wine/drive_c/Program Files/Spotify/"
cd "$DIR"
wine spotify.exe 2>/dev/null
由于“程序文件”中的空格,我将“$DIR”传递给带有引号的 cd;如果我没有引号 "/home/jorgsk/.wine/drive_c/Programs" 将被视为 cd 的参数,这显然会导致错误消息。
如果我使用 ./spotify 从其本地目录 (/home/jorgsk/bin) 启动上述脚本,Spotify 会正常启动。但是,由于我希望从任何地方启动它,我将 /home/jorgsk/bin 添加到 .bashrc 中的 $PATH 变量中。例如,当我从我的主目录写入“spotify”时,我收到错误消息
bash: /home/jorgsk/.wine/drive_c/Program: No such file or directory
如果在脚本目录中使用 ./spotify 启动 tje 脚本时,如果我在引号中不包含 $DIR,则会收到相同的错误消息。
这里发生了什么?
【问题讨论】:
-
当您输入
which spotify时,您会返回什么?
标签: bash shell path whitespace