Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想编写一个脚本,根据我的输入更改为不同的目录。像这样的东西:
test.sh: #!/bin/bash ssh machine001 '(chdir ~/dev$1; pwd)'
但是当我运行./test.sh 2它时,它仍然会转到~/dev. 看来我的论点被忽略了。我在这里做了什么非常愚蠢的事情吗?
./test.sh 2
~/dev
Bash 会忽略单引号 (') 字符串中的任何变量语法。您需要双引号(“)才能进行替换:
#!/bin/bash ssh machine001 "(chdir ~/dev$1; pwd)"
该参数用单引号括起来,因此不会在本地扩展。请改用双引号。
#!/bin/bash ssh machine001 "chdir ~/dev$1; pwd"
不需要(...),因为您只运行这对命令然后退出。
(...)