У вас опечатка в имени переменной.
Это:
choosenFile=${allFilesinDirectory[randomNumber]}
Должно быть:
choosenFile=${allFilesInDirectory[randomNumber]}
На самом деле, для хорошей практики вы должны двойные -цитировать свои переменные, когда вы их используете. Это делается для того, чтобы пробелы в значениях не оценивались оболочкой, когда вы меньше всего этого ожидаете. Так что правильная строка должна быть такой:
choosenFile="${allFilesInDirectory[randomNumber]}"
Я бы настоятельно рекомендовал вам использоватьhttps://www.shellcheck.net/для проверки сценариев оболочки. Как это бывает, он уловил бы вашу опечатку и предупредил бы вас об этом.
Что касается второй части вашего вопроса, просто перестаньте дважды -цитировать всю строку. Напишите команду и укажите ссылку на переменную там, где она вам нужна, например, вот так:
sudo openvpn "$choosenFile"
Наконец-то я выяснил, почему глифы/значки не отображались в URxvt. Несмотря на то, что я настроил машину с помощью en_CA.utf8
, мне также пришлось добавить en _US.utf8, чтобы включить UTF -8 в URxvt. Выполнение следующей команды решило все проблемы, связанные с UTF -8, в URxvt:
localectl set-locale LANG=en_US.UTF-8
Использование приведенного ниже файла.Xresources решает все проблемы
! special colors
*.foreground: #a39e9b
*.background: #2f1e2e
*.cursorColor: #a39e9b
! black
*.color0: #2f1e2e
*.color8: #776e71
! red
*.color1: #ef6155
*.color9: #ef6155
! green
*.color2: #48b685
*.color10: #48b685
! yellow
*.color3: #fec418
*.color11: #fec418
! blue
*.color4: #06b6ef
*.color12: #06b6ef
! magenta
*.color5: #815ba4
*.color13: #815ba4
! cyan
*.color6: #5bc4bf
*.color14: #5bc4bf
! white
*.color7: #a39e9b
*.color15: #e7e9db
! Urxvt Specific Settings
URxvt*scrollBar: false
URxvt*scrollBar_right: false
URxvt.iso14755: false
URxvt.font: xft:MesloLGS Nerd Font:autohint=true:size=12,xft:TerminessTTFNerdFontMono:size=12
*antialias: true
*autohint: true
! Restore Ctrl+Shift+(c|v)
URxvt.keysym.Shift-Control-V: eval:paste_clipboard
URxvt.keysym.Shift-Control-C: eval:selection_to_clipboard
!URxvt.iso14755: false
URxvt.iso14755_52: false
! Common navigation Keybinds
URxvt.keysym.Shift-Up: command:\033]720;1\007
URxvt.keysym.Shift-Down: command:\033]721;1\007
URxvt.keysym.Control-Up: \033[1;5A
URxvt.keysym.Control-Down: \033[1;5B
URxvt.keysym.Control-Right: \033[1;5C
URxvt.keysym.Control-Left: \033[1;5D
!! Copy, Paste + More
URxvt.perl-ext-common: default,clipboard,url-select,keyboard-select
URxvt.keysym.M-Escape: perl:keyboard-select:activate
URxvt.keysym.M-s: perl:keyboard-select:search
URxvt.keysym.M-u: perl:url-select:select_next
URxvt.urlLauncher: firefox
URxvt.underlineURLs: true
URxvt.urlButton: 2
URxvt.url-select.autocopy:true
Спасибо @terdon и @Marc Wilson за помощь.