Объединить pwd и basename [closed]

Я получал ту же ошибку. Переустановка с последней версией netinst iso, т.е. debian-9.1.0-amd64-netinst.iso разобралась. Ошибка, похоже, была исправлена (по крайней мере, для этой архитектуры).

0
09.02.2018, 13:01
2 ответа

Para responder a la pregunta como se indica :Esta es una simple concatenación de cadenas.

somedirpath='/some/path'  # for example $PWD or $(pwd)
somefilepath='/the/path/to/file.txt'

newfilepath="$somedirpath"/"$( basename "$somefilepath" )"

Lo más probable es que desee incluir un /entre los dos elementos de ruta al concatenar las cadenas, y basenametoma un argumento que es una ruta (que faltaba en la pregunta ).


Al leer su otra respuesta, parece que está buscando la ruta y el nombre del script bash. Esto está disponible en BASH_SOURCE, que es una matriz. Es solo el elemento (a menos que estés en una función )será lo que quieras. En el caso general, es el último elemento en la matriz que desea ver.

En bash4.4, esto es ${BASH_SOURCE[-1]}.

3
28.01.2020, 02:32

Intenté esto y funcionó:

#!/bin/bash
SCRIPT=$(pwd)$(basename $0)
echo $SCRIPT

Si hay una mejor manera, por favor comparte.

1
28.01.2020, 02:32

Теги

Похожие вопросы