【问题标题】:Starting tmux with certain command inside of bash script在 bash 脚本中使用特定命令启动 tmux
【发布时间】:2015-03-26 01:04:47
【问题描述】:

尝试在 bash 脚本中启动 tmux 时遇到问题。 以下脚本是问题的示例。

tmux new-session -d -s main
tmux send-keys -t main 'ls ~/' C-m
tmux attach-session -d -t main

此脚本工作正常 - 它以 ~/ 目录列表开始 tmux。 然后我尝试将相同的命令(ls ~/)作为变量启动

tmux new-session -d -s main
foo="'ls ~/'"
tmux send-keys -t main "$foo" C-m
tmux attach-session -d -t main

但是,它没有用。我收到以下消息

'ls ~/'
$ 'ls ~/'
-bash: ls ~/: No such file or directory

这个问题的原因是什么以及如何解决?

【问题讨论】:

  • 您不能在引号内加上引号并让外壳正确地删除它们。有关此问题的完整讨论,请参阅 mywiki.wooledge.org/BashFAQ/050。将一组引号放在那里。 foo="ls ~/"foo='ls ~/ 但不能同时使用。

标签: bash scripting arguments tmux


【解决方案1】:

您不能在引号内加上引号并让外壳正确地为您删除它们。

请参阅 mywiki.wooledge.org/BashFAQ/050 了解有关此问题的完整讨论。

将一组引号放在那里。

foo="ls ~/"foo='ls ~/' 但不能同时使用。

【讨论】:

    猜你喜欢
    • 2011-07-23
    • 1970-01-01
    • 1970-01-01
    • 2014-07-28
    • 2018-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多