使用echo创建bash文件



我想用一行代码创建一个可执行文件。这是我给一个朋友做的一个快速指南,这样就可以很容易地复制粘贴了。

我有这个:

export FILE=spotify; [ -f ~/.local/bin/$FILE ] && echo "File $FILE already exists. Couldn't create it..."; [ -f ~/.local/bin/$FILE ] || { echo $"#!/bin/shnflatpak run com.spotify.Client" > ~/.local/bin/$FILE; chmod +x ~/.local/bin/$FILE; echo "Successfully created $FILE" }

然而,我被困在echo "#!/bash/sh"上,导致"事件未发现"…

有什么办法可以克服吗?

在Bash交互式shell中,感叹号用于搜索Bash历史记录。具体来说,它用历史记录中与该字符串匹配的第一个条目替换感叹号之后的字符串。如果没有这样的条目,您将得到您所看到的症状。

解决方案是使用单引号字符串

最新更新