- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 shell 脚本,我向其中传递了一些参数。Test1.sh -a 1 -b 2 -c“一二三”
在 Test1.sh 中,我按以下方式调用另一个 shell 脚本。Test2.sh $*
我想将所有参数传递给 Test2,这些参数已传递给 Test1,并且格式也相同(带双引号等)。然而传递给 Test2 的参数是Test2.sh -a 1 -b 2 -c 一二三
这对我不起作用。有没有办法解决这个问题,以便我可以像传递给 Test1 一样传递参数。
谢谢扎比
1 Câu trả lời
你需要说:
Test2.sh "$@"
Tài liệu tham khảoSpecial Parameters :
@
Expands to the positional parameters, starting from one. When the expansion occurs within double quotes, each parameter expands to a separate word. That is,
"$@"
is equivalent to"$1" "$2" ...
. If the double-quoted expansion occurs within a word, the expansion of the first parameter is joined with the beginning part of the original word, and the expansion of the last parameter is joined with the last part of the original word. When there are no positional parameters,"$@"
Và$@
expand to nothing (i.e., they are removed).
手册说:
"$*"
is equivalent to"$1c$2c..."
, wherec
is the first character of the value of theIFS
variable.
这解释了您观察到的结果。
关于shell - 将一个 shell 脚本的所有参数传递给另一个 shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18492443/
Tôi tin rằng lệnh gọi thoát trong subshell sẽ khiến chương trình của tôi tiếp tục: #!/bin/bash grep str file | while read line do exit 0 done
Tôi tin rằng lệnh gọi thoát trong subshell sẽ khiến chương trình của tôi tiếp tục: #!/bin/bash grep str file | while read line do exit 0 done
Tôi có một số tập lệnh và phần đầu của chúng trông giống nhau. Chức năng của phần này là xác định máy nào đang chạy tập lệnh và thiết lập một số biến cho phù hợp. Nó sẽ trông như thế này: ENV=`echo $LOGNAME | cut -c1-8` nếu
Đây là những gì tôi đang cố gắng thực hiện. Tôi có 4 tập lệnh shell. Kịch bản 1 cần phải chạy trước, sau đó là 2, 3, 4 và chúng phải chạy theo thứ tự đó. Tập lệnh 1 cần phải chạy (và chờ ở chế độ nền) Tập lệnh 2 phải chạy đúng cách, nhưng tập lệnh
Tôi có một tập lệnh có tên là a.sh, nội dung của nó là: //a.sh: #!/bin/bash temp=0 while [ "$temp" -ne 500 ] do echo `date`
Trong snakemake, cách được khuyến nghị để thực thi nhiều lệnh bằng hàm shell() là gì? Câu trả lời hay nhất Bạn có thể gọi shell() nhiều lần trong một khối quy tắc chạy (quy tắc có thể chỉ định run: thay vì shell:): rule pro
Tôi có một tập lệnh shell mà tôi truyền một số đối số vào. Test1.sh -a 1 -b 2 -c "một hai ba" Trong Test1.sh, tôi gọi một tập lệnh shell khác như sau. Test2.sh $* Tôi
Tôi có 2 tập lệnh shell. Tập lệnh shell thứ hai chứa các hàm sau second.sh func1 func2 first.sh sẽ gọi tập lệnh shell thứ hai với một số đối số và một số đối số khác dành riêng cho hàm đó sẽ được sử dụng
Tôi có một tập lệnh shell Unix là test.sh. Trong tập lệnh, tôi muốn gọi một shell khác, sau đó thực thi phần còn lại của các lệnh trong tập lệnh shell từ subshell và thoát Để rõ ràng: test.sh #!/bin/b
Tôi muốn thay đổi biến môi trường đường dẫn trong một tập lệnh shell. Biến đường dẫn cần được sửa đổi sau khi tập lệnh shell được thực thi. Câu trả lời hay nhất Tôi biết có hai cách để thực hiện việc này. Đầu tiên là chạy tập lệnh trong ngữ cảnh của shell hiện tại: . myscript.
Tập lệnh shell này hoạt động đúng như mong đợi. bẫy 'echo exit' EXIT foo() { exit } echo begin foo echo end Đây là đầu ra. $ sh foo.sh
Tôi đang sử dụng vimshell để thực thi các lệnh trong vim nnoremap so với :VimShellPop Với ánh xạ phím này, tôi có thể mở vim shell và thực thi các lệnh như 'bundle install' rồi nhập exi
Tôi muốn kết nối với các shell khác nhau (csh, ksh, v.v.) và thực thi lệnh trong mỗi shell được chuyển đổi. Đây là một chương trình mẫu phản ánh ý định của tôi: #!/bin/bash echo $SHELL csh e
Hiện tại tôi đang cố gắng viết lại shell bằng C sử dụng trình phân tích cú pháp BNF và LL. Nếu không, tôi cần biết thứ tự ưu tiên của các toán tử shell | , > , > , & , ; là gì? Có ai có thể cung cấp cho tôi không? Cảm ơn bạn nhiều nhất
Thật không may, tôi không có lệnh tạm dừng (busybox/ash). Nhưng tôi có thể sử dụng kill -STOP $$ để quay lại shell cha từ shell nền (sh &) (và fg sau đó). Nhưng tôi không muốn vào
Tôi cần biết khi nào người dùng chuyển sang shell khác bằng cách nhấp vào shell đó. Tôi đã thử shellListener.shellDeactivated() nhưng sự kiện này được kích hoạt khi shell mất tiêu điểm vào các điều khiển của chính nó, điều đó có nghĩa là
file1.txt aaaa bbbb cccc dddd eeee file2.txt DDDD cccc aaaa result bbbb eeee Tốt hơn là không phân biệt chữ hoa chữ thường! Cảm ơn bạn! Câu trả lời hay nhất gre
Tôi đã thấy các vòng lặp giải nén tất cả các tệp zip trong một thư mục. Tuy nhiên, trước khi chạy lệnh này, tôi muốn chắc chắn rằng những gì tôi sắp chạy hoạt động chính xác: for i in dir; do cd $i; unzip '*.zip'; rm -rf *.z
Tôi khá mới với lập trình nhưng tôi tự hỏi làm thế nào các trình soạn thảo văn bản shell như vim, emacs, nano, v.v. có thể điều khiển cửa sổ dòng lệnh. Tôi chủ yếu là một lập trình viên Windows nên mọi thứ có thể sẽ khác trên *nix. Theo như tôi biết, chỉ có văn bản
Tôi có một tệp chứa ngày ở cột thứ 7, yêu cầu của tôi là so sánh nó với ngày hôm nay và nếu nhỏ hơn thì xóa toàn bộ hàng đó. Ngoài ra, nếu bất kỳ ngày nào được đề cập trong cột 7 dài hơn 15 ngày, thì hãy sửa đổi nó thành tối đa là 15 ngày. Ví dụ bên dưới - bây giờ
Tôi là một lập trình viên xuất sắc, rất giỏi!