- Tìm số 0 đầu tiên trong một mảng bit
- Unix Hiển thị thông tin về các tập tin khớp với một trong hai mẫu
- Biểu thức chính quy thay thế nhiều tệp
- Ẩn lệnh từ xtrace
Tôi không thể tìm ra sự khác biệt chính xác giữa việc sử dụng ${array[@]} và ${array[*]}
Những gì tôi thấy là sự khác biệt khi in, nhưng tôi đoán là còn nhiều điều hơn thế nữa
khai báo -một mảng
mảng=("1" "2" "3")
IFS=","
printf "%s" ${mảng[@]}
printf "%s" ${mảng[*]}
IFS=" "
Tôi đã tìm kiếm nó trên TLDP nhưng không tìm ra. Đây có phải là lệnh bash chung hay chỉ dành cho mảng? Cảm ơn bạn rất nhiều!
1 Câu trả lời
giống người đàn ông đập phá
Như đã nêu trong:
Nếu từ được trích dẫn kép,
${tên[*]}
mở rộng thành một từ duy nhất với giá trị của mỗi thành viên mảng được phân tách bằng ký tự đầu tiên củaIFS
biến đặc biệt, và${tên[@]}
mở rộng mỗi thành phần của tên thành một từ riêng biệt.
ví dụ:
mảng=("1" "2" "3")
printf "'%s'" "${mảng[*]}"
'1 2 3'
printf "'%s'" "${mảng[@]}"
'1''2''3'
Liên quan đến linux - mảng bash sử dụng @ so với *, sự khác biệt giữa hai mảng này, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/52590446/
Tôi sử dụng IntelliJ IDEA 2021.1 CE trên Pop!_OS 20.04 với bash 5.0.17. Câu hỏi: Tôi đặt terminal IntelliJ thành /bin/bash thông qua cài đặt IntelliJ.
Với lệnh như sau: bash --shortcuts, tôi muốn hiển thị danh sách các phím tắt như trên trang này: http://www.skorks.com/2009/09/bash-shortcuts-for-m
Tôi có một tập lệnh xử lý dữ liệu, tạo tham số và gửi chúng đến một tập lệnh thứ hai. Một trong các tham số chứa khoảng trắng. script1.sh: args=() args+=("A") args+=("1 2") args+=("B") .
Một ví dụ rất đơn giản về phiên bản "chỉ chạy một lần" của tập lệnh của tôi: ./myscript.sh var1 "var2 có khoảng trắng" var3 #!/bin/bash echo $1 #output: var
Tôi muốn hiểu cách các số (double) được biểu diễn trong bash và điều gì xảy ra khi tôi in một số theo định dạng thập lục phân trong bash. Theo tiêu chuẩn IEEE 754, một số double phải được biểu diễn bằng 64 bit: 52 bit (1
Tôi đang cố gắng tìm nguồn tập lệnh bash trong lệnh bash -c "..." nhưng không được. Nếu tôi chạy lệnh bên ngoài bash -c "..." thì nó hoạt động. Tôi cần sử dụng bash -c "..." vì tôi muốn đảm bảo
Làm thế nào để tôi có thể phát hiện gói hoàn thành bash đã được tải trong shell bash của tôi chưa? Bắt đầu với phiên bản 2.1 của bash-completion (có trong Debian 8), ngoài BASH_COMPLETION_COMPLETION
Tôi có một hàm chiếu trong bash_profile của mình. Bây giờ tôi đang cố gọi hàm này từ một tập lệnh bash, nhưng tôi nhận được lỗi không tìm thấy. Làm thế nào để hàm chiếu có thể hiển thị trong tập lệnh bash? Câu trả lời tốt nhất là xuất khẩu hàm export
Tôi đang viết một tập lệnh bash sử dụng một số đối số dòng lệnh (có thể bao gồm cả khoảng trắng) và truyền tất cả chúng tới một chương trình (/bin/some_program) thông qua một shell đăng nhập. Một shell đăng nhập được gọi từ một tập lệnh bash sẽ thực hiện
Khi tôi tạo một tiến trình bash mới, dấu nhắc mặc định sẽ là dấu nhắc rất đơn giản. Tôi biết tôi có thể chỉnh sửa .bashrc, v.v. để thay đổi nó, nhưng có cách nào để truyền dấu nhắc bằng lệnh bash không? Cảm ơn bạn! Câu trả lời hay nhất được đề xuất bởi PS1, PS
Được thôi, tôi hy vọng câu hỏi này có ý nghĩa, nhưng sự khác biệt giữa bash shell và bash terminal là gì? ví dụ. Khi tôi mở Terminal lần đầu, tôi được nhắc nhập thư mục hiện tại và tên người dùng. Tiêu đề cửa sổ terminal hiển thị -bash- và khi tôi nhập e
Tôi mới làm quen với SBCL và đang cố chạy một tập lệnh Lisp được lưu trữ trong tệp văn bản từ một thiết bị đầu cuối bash. Đây là những gì tôi đã viết ở đầu tập tin http://www.sbcl.org/manual/#Running-from
Tôi biết chúng ta có thể chuyển đổi hex sang thập phân trong bash bằng cách sử dụng #!/bin/bash echo "Nhập số hex" read hexNum echo $(( 16#$hexNum ))
Tôi đang cố gắng tự động hoàn thành tên thư mục trong một tập lệnh bash. Nếu tôi nhập tên thư mục đầy đủ thì mọi thứ đều hoạt động bình thường, nhưng tôi không biết cách tự động hoàn thành tên. Bạn có ý tưởng nào không? kho lưu trữ() { cd ~/Desktop/_REPOS/$1 }
Tôi muốn kiểm tra một số tập tin trên một trang web từ xa. Đây là lệnh bash để tạo lệnh tính toán md5 của tệp [root]# head -n 3 zrcpathAll | awk '{print $3}' | xargs -I {}
Có hàm tích hợp nào để lấy Chủ Nhật tiếp theo (Thứ Hai tuần sau, Thứ Ba tuần sau, v.v.) từ một ngày nhất định bằng cách sử dụng tập lệnh bash shell không? Ví dụ, Chủ Nhật đầu tiên sau ngày 1 tháng 9 năm 2014 là ngày nào? Tôi dự kiến là ngày 7 tháng 9 năm 2014.
Tôi đã thử đổi tên một số tệp cụ thể dựa trên bảng nhưng không thành công. Nó sẽ đổi tên tất cả các tập tin hoặc đưa ra lỗi. Thư mục chứa hàng trăm tệp được đặt tên bằng mã vạch dài và tôi chỉ muốn đổi tên những tệp có chứa mẫu _1_. Ví dụ barcode_1_bar
Có cách nào trong bash để thay thế chỗ giữ chỗ trong tệp văn bản bằng nội dung của biến không? Ví dụ, tôi muốn gửi thông báo qua email trông như thế này: Thân gửi Foo, Cảnh báo: blah blah blah blah blah blah blah
Tôi có một tập lệnh bash có ký tự dấu được thêm vào một số chuỗi nhất định khiến tập lệnh này bị lỗi và tôi không thể tìm ra vị trí hoặc cách thêm các ký tự này vào đó. Sau đây là một số mẫu đầu ra: mv: không thể di chuyển â/tmp/myapp.zipâ
Câu hỏi này đã có câu trả lời ở đây: Làm thế nào để tôi đặt stdout trên dòng chỉnh sửa? (1 câu trả lời) Một tập lệnh bash có thể điền trước dấu nhắc không
Tôi là một lập trình viên xuất sắc, rất giỏi!