스크립트에서 PATH를 다시 ​​작성하는 방법은 무엇입니까?

스크립트에서 PATH를 다시 ​​작성하는 방법은 무엇입니까?

내 PATH를 파일로 추출하여 다음과 같이 나열했습니다.

/bin
/usr/bin
/usr/local/bin
.
/usr/lib/oracle/xe/app/oracle/product/10.2.0/client/bin
/usr/java/default/bin
/usr/kerberos/bin
/usr/local/bin
/bin
/usr/bin

이제 이 파일에서 해당 파일을 추출하여 각 디렉터리 사이에 콜론을 사용하여 새 파일의 한 줄로 복원하고 싶습니다. 빈 파일을 받고 있는데 제가 뭘 잘못하고 있는지 보여줄 수 있나요? 다음은 파일 복원을 수행하기 위해 실행하는 명령입니다.

echo -e ${bash_list tr \\ :\n} > bash_PATH

답변1

trSTDIN(표준 입력)에서 입력을 받습니다. 이 시도:

$ tr '\n' ':' > output_file  < input_file

Bash의 매개변수 확장을 위한 구문을 사용했지만 매개변수는 가변 또는 특수 쉘 매개변수만 될 수 있으므로 올바르지 않은 매개변수로 파일을 사용하고 있습니다.

다음을 사용하여 시도 중인 작업을 수행하려면 다음을 수행하십시오 bash.

$ var="$(<bash_list)"
$ echo "${var//$'\n'/:}" > bash_PATH

이제 bash_PATH파일에는 다음이 포함됩니다.

/bin:/usr/bin:/usr/local/bin:.:/usr/lib/oracle/xe/app/oracle/product/10.2.0/client/bin:/usr/java/default/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin

또한 "$PATH"에 중복된 디렉터리 이름이 있다는 점에 유의하세요(예를 들어 의도한 것이기를 바랍니다). 순서를 변경하지 않고 중복 항목을 제거하려면 시도해 볼 수 있습니다.이것.

관련 정보