bash - 将命令行参数传递给 shell 脚本不起作用

标签 bash shell scripting csh

我想编写一个脚本,它会根据我的输入更改到不同的目录。像这样:

test.sh:
#!/bin/bash
ssh machine001 '(chdir ~/dev$1; pwd)'

但是当我运行 ./test.sh 2 时,它仍然会转到 ~/dev。看来我的论点被忽略了。我在这里做了什么非常愚蠢的事情吗?

最佳答案

Bash 忽略单引号 (') 字符串中的任何变量语法。您需要双引号 (") 才能进行替换:

#!/bin/bash
ssh machine001 "(chdir ~/dev$1; pwd)"

关于bash - 将命令行参数传递给 shell 脚本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14818956/

相关文章:

linux - 是否可以在 make 文件中使用从 bash 脚本导出的变量?

linux - 为什么/root/.bash_profile 中的命令启动了两次?

bash - 使用 bash、sed、awk 解析 .ini 等文件

linux - 注释行出现错误 "0: command not found"

c++ - 脚本语言在游戏编程中的作用

java - 从 Java 运行 Python 命令行实用程序

linux - "continuous"带八进制转储的输出

shell - shell 脚本中 "#!/bin/sh"的用途/含义是什么?

bash - 重命名与目录名称同名的文件

Bash:在循环中从 STDIN 读取奇怪的行为