đọc tệp từ đường dẫn máy chủ - bash


0

Tôi đang chuyển một tên tệp với đường dẫn như /tmp/user/abc.txtshell script,

ở đó tôi muốn đọc abc.txt và lấy nội dung trong một biến.

ngay bây giờ đang sử dụng export SUBJECT=echo $ {1} SUBJECT_1=cat $ SUBJECT`

Đây không phải là in bất cứ điều gì. vui lòng giúp đỡ cách in, Ngoài ra, nội dung của tệp này cũng sẽ có một số ký tự tiếng Nhật.

Câu trả lời:


1

Bạn có một vài lỗi trong mã của mình:

  1. Bạn có một backquote bị thiếu ở đây SUBJECT_1=cat $SUBJECT`.
  2. export SUBJECT=echo ${1}là một tuyên bố sai. Nó phải export SUBJECT="${1}".
  3. Backquote thực thi mã bên trong chúng trong một khung con, vì vậy nó sẽ không in nội dung tệp của bạn. Nếu bạn muốn in nó, bạn sẽ phải thêm dòng này : echo "${SUBJECT_1}".

Khi bạn sửa các mã này sẽ hoạt động, nhưng đây là một số mẹo bạn nên xem xét:

  1. Bạn nên sử dụng $(code)nếu bạn muốn thực thi mã trong một lớp con thay vì sử dụng backquote, bạn có thể đọc về nó trong luồng SO này .
  2. Lần tới khi bạn bị kẹt mã shell, hãy thử điều này trước, nó có khả năng sửa lỗi tuyệt vời cho mã shell và bạn có thể tìm thấy phiên bản dòng lệnh của nó.
  3. Luôn luôn sử dụng dấu ngoặc kép trên các biến, nó giữ cho biến không bị tách. Bạn có thể đọc về nó ở đây .

HI Samy, tôi đã thử đề xuất của bạn vẫn không in gì thực sự,
Dbase Plsql

HI Samy, tôi đã thử đề xuất của bạn vẫn không in gì cả. Hãy để tôi giải thích vấn đề rõ ràng hơn trong Shell Script, đó là một biến SUBJECTnếu echo $SUBJECTtôi nhận được /usr/tmp/abc.txtkhi tôi thực hiện echo $(cat /usr/tmp/abc.txt)trong shell script, nó không in bất cứ thứ gì, nhưng nếu tôi làm cat /usr/tmp/abc.txttrong thiết bị đầu cuối, nó in giá trị. Tất cả những gì tôi cần làm là để có được giá trị abc.txttrong ĐỐI TƯỢNG tức là usr/tmp/abc.txttrong một biến khác
Dbase Plsql

Tại sao bạn không chỉnh sửa câu hỏi của mình và dán toàn bộ tập lệnh của mình cho rõ ràng? Ngoài ra, thêm hai phần: Đầu ra dự kiến ​​và đầu ra thực tế.
Samy

cảm ơn .. điều đó đã được giải quyết, vấn đề là có một khoảng cách giữa = biểu tượng và backtick :)
Dbase Plsql
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.