Puncte:0

-f $file_name nu funcționează când folosești ~/file_name, dar funcționează când folosești /home/james/file_name

drapel cn

Asta m-a înnebunit. Am un script destul de simplu

#!/bin/bash

citește -p "Introduceți numele fișierului changeList.txt: " nume_fișier

if [ -f $nume_fișier ]; atunci
    echo „Se citește fișierul...”
    pisică $nume_fișier | grep „Schimbare” | tăiați -d '' -f 2
    echo „Procesul finalizat”
altfel
    echo >&2 „Notă de fișier găsită”.
    iesirea 1
fi 

echo „Ieșire...”
iesirea 0

Îi trec un fișier ~/changeList.txt, care eșuează. Îl trec pe /home/james/changeList.txt și funcționează. eu incerc

nume_fișier=~/changeList.txt
[ -f $nume_fișier ] && echo „adevărat” || ecou "fals"

de la terminalul meu și revine adevărat.
Folosesc Ubuntu pe wsl 2 și sunt conectat ca James.

drapel hr
Înrudit: [De ce nu se efectuează extinderea tilde pe intrare pentru a citi?](https://askubuntu.com/questions/1093906/why-isnt-tilde-expansion-performed-on-the-input-to-read)
Puncte:1
drapel tm

Expansiunea tilde are loc înaintea expansiunii variabile. Într-o atribuire, valoarea din partea dreaptă suferă o extindere a tildei, astfel încât variabilei i se atribuie calea completă. Vedea man bash pentru detalii.

James Ayres avatar
drapel cn
Știți dacă există o modalitate de a face extinderea tildei dintr-un șir care vine sau pur și simplu nu ar trebui să trec într-un tilde?
drapel tm
`man bash` menționează `set expand-tilde On` cu `read -e`, dar nu am reușit să-l fac să funcționeze.
drapel au
@JamesAyres Există o mulțime de opțiuni (de diferite grade de complexitate și fiabilitate) sub întrebarea stackoverflow [„Cum se extinde manual o variabilă specială (ex: ~ tilde) în bash”](https://stackoverflow.com/questions /3963716/how-to-manually-expand-a-special-variable-ex-tilde-in-bash).

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.