gpt4 book ai didi

linux - 通过 shell 脚本将 "raw"命令行添加到 bashrc(不评估命令)

转载 作者:行者123 更新时间:2023-12-04 18:39:32 25 4
gpt4 key购买 nike

也许我搜索错了,但我找不到任何解决方案......
我想使用 shell 脚本将以下内容附加到我的 bashrc 文件中(以便更轻松地安装适用于 Linux 的 Windows 子系统):

# Load X display (run 'XLaunch' on Windows with 'Disable access control' checked and 'Native opengl' unchecked!)
# https://sourceforge.net/projects/vcxsrv/
export DISPLAY=$(grep -m 1 nameserver /etc/resolv.conf | awk '{print $2}'):0.0
这是我的 script.sh:
### Add useful stuff to bashrc
### --------------------------
echo "
# Load X display (run 'XLaunch' on Windows with 'Disable access control' checked and 'Native opengl' unchecked!)
# https://sourceforge.net/projects/vcxsrv/
export DISPLAY=$(grep -m 1 nameserver /etc/resolv.conf | awk '{print $2}'):0.0
" >> ~/.bashrc
这是运行 script.sh 时附加到 bashrc 的内容:
# Load X display (run 'XLaunch' on Windows with 'Disable access control' checked and 'Native opengl' unchecked!)
# https://sourceforge.net/projects/vcxsrv/
export DISPLAY=172.19.96.1:0.0
由于我的 IP 可能会改变,我想将原始命令本身附加到 bashrc,而不是命令的输出。我确信这一定是一个重复的问题,但我找不到有用的答案。有很多答案只是引用 echocat . cat产生相同的不良结果:
cat <<EOF >> ~/.bashrc
# Load X display (run 'XLaunch' on Windows with 'Disable access control' checked and 'Native opengl' unchecked!)
# https://sourceforge.net/projects/vcxsrv/
export DISPLAY=$(grep -m 1 nameserver /etc/resolv.conf | awk '{print $2}'):0.0
EOF

最佳答案

问题是使用双引号/刻度与单引号/刻度
尝试颠倒使用 "和 ',因为 "将解释并运行命令,而 ' 不会解释或运行它。
这应该有效:

echo 'export DISPLAY=$(grep -m 1 nameserver script.sh | awk '\''{print $2}'\''):0.0' >> temp.txt

$ cat temp.txt
export DISPLAY=$(grep -m 1 nameserver /etc/resolv.conf | awk '{print $2}'):0.0
引用: https://www.howtogeek.com/howto/29980/whats-the-difference-between-single-and-double-quotes-in-the-bash-shell/
引用带引号的字符串中的转义文本:
https://stackoverflow.com/a/48352047/13064727

关于linux - 通过 shell 脚本将 "raw"命令行添加到 bashrc(不评估命令),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62873058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com