Это можно добавить к принятому ответу для решения «кросс-браузер».
Источники:
.your_element{
-ms-word-break: break-all;
word-break: break-all;
/* Non standard for webkit */
word-break: break-word;
-webkit-hyphens: auto;
-moz-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
}
Если вы хотите избежать второго cd
, вы можете использовать
(cd .folder && command --key)
another_command --key
Без cd
... Ни разу. Я нашел два пути:
# Save where you are and cd to other dir
pushd .folder
command --key
# Get back where you were at the beginning.
popd
another_command --key
и второй:
find . -maxdepth 1 -type d -name ".folder" -execdir command --key \;
another_command --key
Мне нужно было сделать это без использования bash, и я был удивлен, что нет утилиты (аналогично env(1)
или sudo(1)
, которая запускает команду в измененном рабочем каталоге. Итак, я написал простой C Программа, которая делает это:
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
char ENV_PATH[8192] = "PWD=";
int main(int argc, char** argv) {
if(argc < 3) {
fprintf(stderr, "Usage: in <dir> <cmd> [<args>...]\n");
return 1;
}
if(chdir(argv[1])) {
fprintf(stderr, "Error setting working directory to \"%s\"\n", argv[1]);
return 2;
}
if(!getcwd(ENV_PATH + 4, 8192-4)) {
fprintf(stderr, "Error getting the full path to the working directory \"%s\"\n", argv[1]);
return 3;
}
if(putenv(ENV_PATH)) {
fprintf(stderr, "Error setting the environment variable \"%s\"\n", ENV_PATH);
return 4;
}
execvp(argv[2], argv+2);
}
Использование так:
$ in /path/to/directory command --key
;
на&&
в придачу. Если CD перестал работать (например, потому что Вы typoed имя каталога), Вы, вероятно, don' t хотят выполнить команду. – EI Captain v2.0 06.05.2020, 10:06