if test (count $argv) -ne 1 echo "usage: readonly " >&2 return 2 end set save_number $argv[1] if not string match --quiet --regex '^[0-9]{4}$' -- "$save_number" echo "readonly: save number must contain four digits" >&2 return 2 end set save_name "Save$save_number.sav" set save "$HOME/.local/share/Steam/steamapps/compatdata/49520/pfx/drive_c/users/steamuser/Documents/My games/Borderlands 2/WillowGame/SaveData/76561198060918970/$save_name" if not test -f "$save" echo "readonly: save not found: $save" >&2 return 1 end set attribute_output (lsattr -d -- "$save") or begin echo "readonly: failed to read attributes for $save_name" >&2 return 1 end set attribute_flags (string split --max 1 ' ' -- "$attribute_output")[1] if string match --quiet '*i*' -- "$attribute_flags" sudo chattr -i -- "$save" or return $status echo "$save_name is now writable" else sudo chattr +i -- "$save" or return $status echo "$save_name is now read-only" end